﻿2026-06-09T03:00:38.3301468Z ##[group]Run ./traceable-reqs check --json
2026-06-09T03:00:38.3301796Z [36;1m./traceable-reqs check --json[0m
2026-06-09T03:00:38.3314071Z shell: /usr/bin/bash -e {0}
2026-06-09T03:00:38.3314299Z ##[endgroup]
2026-06-09T03:00:38.4011486Z {
2026-06-09T03:00:38.4012220Z   "schemaVersion": 1,
2026-06-09T03:00:38.4012659Z   "summary": {
2026-06-09T03:00:38.4013207Z     "requirementCount": 175,
2026-06-09T03:00:38.4013832Z     "completeCount": 175,
2026-06-09T03:00:38.4014394Z     "incompleteCount": 0,
2026-06-09T03:00:38.4014928Z     "findingCount": 0
2026-06-09T03:00:38.4015430Z   },
2026-06-09T03:00:38.4015866Z   "requirements": [
2026-06-09T03:00:38.4016336Z     {
2026-06-09T03:00:38.4016790Z       "id": "REQ-API-1",
2026-06-09T03:00:38.4017560Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-09T03:00:38.4018255Z       "requiredStages": [
2026-06-09T03:00:38.4018684Z         "impl",
2026-06-09T03:00:38.4019048Z         "unit",
2026-06-09T03:00:38.4019927Z         "int"
2026-06-09T03:00:38.4020344Z       ],
2026-06-09T03:00:38.4020679Z       "stages": {
2026-06-09T03:00:38.4021042Z         "doc": {
2026-06-09T03:00:38.4021427Z           "complete": false,
2026-06-09T03:00:38.4021851Z           "evidence": []
2026-06-09T03:00:38.4022253Z         },
2026-06-09T03:00:38.4022611Z         "impl": {
2026-06-09T03:00:38.4023000Z           "complete": true,
2026-06-09T03:00:38.4023419Z           "evidence": [
2026-06-09T03:00:38.4023810Z             {
2026-06-09T03:00:38.4024217Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.4024740Z               "line": 15
2026-06-09T03:00:38.4025137Z             }
2026-06-09T03:00:38.4025497Z           ]
2026-06-09T03:00:38.4025839Z         },
2026-06-09T03:00:38.4026187Z         "int": {
2026-06-09T03:00:38.4026553Z           "complete": true,
2026-06-09T03:00:38.4027065Z           "evidence": [
2026-06-09T03:00:38.4027464Z             {
2026-06-09T03:00:38.4027892Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.4028462Z               "line": 13
2026-06-09T03:00:38.4028872Z             }
2026-06-09T03:00:38.4029263Z           ]
2026-06-09T03:00:38.4029688Z         },
2026-06-09T03:00:38.4030050Z         "unit": {
2026-06-09T03:00:38.4030449Z           "complete": true,
2026-06-09T03:00:38.4030876Z           "evidence": [
2026-06-09T03:00:38.4031273Z             {
2026-06-09T03:00:38.4031683Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.4032193Z               "line": 442
2026-06-09T03:00:38.4032602Z             },
2026-06-09T03:00:38.4032968Z             {
2026-06-09T03:00:38.4033374Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.4033890Z               "line": 448
2026-06-09T03:00:38.4034298Z             },
2026-06-09T03:00:38.4034661Z             {
2026-06-09T03:00:38.4035072Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.4035615Z               "line": 515
2026-06-09T03:00:38.4036019Z             }
2026-06-09T03:00:38.4036389Z           ]
2026-06-09T03:00:38.4036742Z         }
2026-06-09T03:00:38.4037175Z       }
2026-06-09T03:00:38.4037538Z     },
2026-06-09T03:00:38.4037881Z     {
2026-06-09T03:00:38.4038245Z       "id": "REQ-API-2",
2026-06-09T03:00:38.4038922Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-09T03:00:38.4039699Z       "requiredStages": [
2026-06-09T03:00:38.4040114Z         "impl",
2026-06-09T03:00:38.4040492Z         "unit",
2026-06-09T03:00:38.4040840Z         "int"
2026-06-09T03:00:38.4041200Z       ],
2026-06-09T03:00:38.4041537Z       "stages": {
2026-06-09T03:00:38.4041909Z         "doc": {
2026-06-09T03:00:38.4042280Z           "complete": false,
2026-06-09T03:00:38.4042725Z           "evidence": []
2026-06-09T03:00:38.4043130Z         },
2026-06-09T03:00:38.4043501Z         "impl": {
2026-06-09T03:00:38.4043876Z           "complete": true,
2026-06-09T03:00:38.4044306Z           "evidence": [
2026-06-09T03:00:38.4045055Z             {
2026-06-09T03:00:38.4045789Z               "path": "crates/spt-store/src/history.rs",
2026-06-09T03:00:38.4046352Z               "line": 15
2026-06-09T03:00:38.4046767Z             },
2026-06-09T03:00:38.4047241Z             {
2026-06-09T03:00:38.4047659Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.4048180Z               "line": 20
2026-06-09T03:00:38.4048570Z             },
2026-06-09T03:00:38.4048932Z             {
2026-06-09T03:00:38.4049344Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.4049850Z               "line": 139
2026-06-09T03:00:38.4050250Z             },
2026-06-09T03:00:38.4050603Z             {
2026-06-09T03:00:38.4051008Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4051522Z               "line": 21
2026-06-09T03:00:38.4051901Z             },
2026-06-09T03:00:38.4052244Z             {
2026-06-09T03:00:38.4052645Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4053174Z               "line": 38
2026-06-09T03:00:38.4053570Z             },
2026-06-09T03:00:38.4053904Z             {
2026-06-09T03:00:38.4054324Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4054837Z               "line": 190
2026-06-09T03:00:38.4055219Z             },
2026-06-09T03:00:38.4055572Z             {
2026-06-09T03:00:38.4055981Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4056488Z               "line": 232
2026-06-09T03:00:38.4056879Z             },
2026-06-09T03:00:38.4057276Z             {
2026-06-09T03:00:38.4057651Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4058120Z               "line": 262
2026-06-09T03:00:38.4058473Z             },
2026-06-09T03:00:38.4058797Z             {
2026-06-09T03:00:38.4059172Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4059629Z               "line": 17
2026-06-09T03:00:38.4059937Z             },
2026-06-09T03:00:38.4060270Z             {
2026-06-09T03:00:38.4060668Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4061120Z               "line": 30
2026-06-09T03:00:38.4061468Z             },
2026-06-09T03:00:38.4061792Z             {
2026-06-09T03:00:38.4062153Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4062590Z               "line": 63
2026-06-09T03:00:38.4062943Z             },
2026-06-09T03:00:38.4063253Z             {
2026-06-09T03:00:38.4063625Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4064077Z               "line": 76
2026-06-09T03:00:38.4064430Z             }
2026-06-09T03:00:38.4064740Z           ]
2026-06-09T03:00:38.4065054Z         },
2026-06-09T03:00:38.4065363Z         "int": {
2026-06-09T03:00:38.4065702Z           "complete": true,
2026-06-09T03:00:38.4066090Z           "evidence": [
2026-06-09T03:00:38.4066442Z             {
2026-06-09T03:00:38.4066819Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.4067349Z               "line": 14
2026-06-09T03:00:38.4067695Z             },
2026-06-09T03:00:38.4067978Z             {
2026-06-09T03:00:38.4068283Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.4068569Z               "line": 183
2026-06-09T03:00:38.4068789Z             }
2026-06-09T03:00:38.4068980Z           ]
2026-06-09T03:00:38.4069170Z         },
2026-06-09T03:00:38.4069362Z         "unit": {
2026-06-09T03:00:38.4069566Z           "complete": true,
2026-06-09T03:00:38.4069809Z           "evidence": [
2026-06-09T03:00:38.4070025Z             {
2026-06-09T03:00:38.4070271Z               "path": "crates/spt-store/src/history.rs",
2026-06-09T03:00:38.4070564Z               "line": 42
2026-06-09T03:00:38.4070778Z             },
2026-06-09T03:00:38.4070974Z             {
2026-06-09T03:00:38.4071203Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.4071489Z               "line": 254
2026-06-09T03:00:38.4071708Z             },
2026-06-09T03:00:38.4072047Z             {
2026-06-09T03:00:38.4072395Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4072681Z               "line": 438
2026-06-09T03:00:38.4072899Z             },
2026-06-09T03:00:38.4073093Z             {
2026-06-09T03:00:38.4073321Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4073608Z               "line": 449
2026-06-09T03:00:38.4073832Z             },
2026-06-09T03:00:38.4074022Z             {
2026-06-09T03:00:38.4074252Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4074533Z               "line": 581
2026-06-09T03:00:38.4074744Z             },
2026-06-09T03:00:38.4074933Z             {
2026-06-09T03:00:38.4075158Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4075439Z               "line": 593
2026-06-09T03:00:38.4075652Z             },
2026-06-09T03:00:38.4075843Z             {
2026-06-09T03:00:38.4076073Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4076359Z               "line": 141
2026-06-09T03:00:38.4076581Z             },
2026-06-09T03:00:38.4076782Z             {
2026-06-09T03:00:38.4077073Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4077332Z               "line": 185
2026-06-09T03:00:38.4077526Z             }
2026-06-09T03:00:38.4077703Z           ]
2026-06-09T03:00:38.4077875Z         }
2026-06-09T03:00:38.4078050Z       }
2026-06-09T03:00:38.4078226Z     },
2026-06-09T03:00:38.4078401Z     {
2026-06-09T03:00:38.4078577Z       "id": "REQ-API-3",
2026-06-09T03:00:38.4078839Z       "title": "commune/signoff are file-drops, not commands",
2026-06-09T03:00:38.4079129Z       "requiredStages": [
2026-06-09T03:00:38.4079339Z         "impl",
2026-06-09T03:00:38.4079522Z         "unit",
2026-06-09T03:00:38.4079913Z         "int"
2026-06-09T03:00:38.4080204Z       ],
2026-06-09T03:00:38.4080456Z       "stages": {
2026-06-09T03:00:38.4080803Z         "doc": {
2026-06-09T03:00:38.4081095Z           "complete": false,
2026-06-09T03:00:38.4081657Z           "evidence": []
2026-06-09T03:00:38.4082164Z         },
2026-06-09T03:00:38.4082598Z         "impl": {
2026-06-09T03:00:38.4083183Z           "complete": true,
2026-06-09T03:00:38.4083686Z           "evidence": [
2026-06-09T03:00:38.4108262Z             {
2026-06-09T03:00:38.4108664Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4109036Z               "line": 27
2026-06-09T03:00:38.4109313Z             },
2026-06-09T03:00:38.4109565Z             {
2026-06-09T03:00:38.4109868Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4110252Z               "line": 372
2026-06-09T03:00:38.4110548Z             }
2026-06-09T03:00:38.4110795Z           ]
2026-06-09T03:00:38.4111034Z         },
2026-06-09T03:00:38.4111311Z         "int": {
2026-06-09T03:00:38.4111583Z           "complete": true,
2026-06-09T03:00:38.4111889Z           "evidence": [
2026-06-09T03:00:38.4112180Z             {
2026-06-09T03:00:38.4112488Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.4112915Z               "line": 257
2026-06-09T03:00:38.4113206Z             }
2026-06-09T03:00:38.4113468Z           ]
2026-06-09T03:00:38.4113701Z         },
2026-06-09T03:00:38.4113954Z         "unit": {
2026-06-09T03:00:38.4114235Z           "complete": true,
2026-06-09T03:00:38.4114526Z           "evidence": [
2026-06-09T03:00:38.4114808Z             {
2026-06-09T03:00:38.4115114Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4115522Z               "line": 242
2026-06-09T03:00:38.4115813Z             },
2026-06-09T03:00:38.4116090Z             {
2026-06-09T03:00:38.4116414Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4116819Z               "line": 622
2026-06-09T03:00:38.4117204Z             }
2026-06-09T03:00:38.4117456Z           ]
2026-06-09T03:00:38.4117654Z         }
2026-06-09T03:00:38.4117828Z       }
2026-06-09T03:00:38.4117991Z     },
2026-06-09T03:00:38.4118155Z     {
2026-06-09T03:00:38.4118508Z       "id": "REQ-ARCH-1",
2026-06-09T03:00:38.4118856Z       "title": "Many small acyclically-layered crates",
2026-06-09T03:00:38.4119113Z       "requiredStages": [
2026-06-09T03:00:38.4119304Z         "impl"
2026-06-09T03:00:38.4119480Z       ],
2026-06-09T03:00:38.4119656Z       "stages": {
2026-06-09T03:00:38.4119830Z         "doc": {
2026-06-09T03:00:38.4120014Z           "complete": false,
2026-06-09T03:00:38.4120221Z           "evidence": []
2026-06-09T03:00:38.4120414Z         },
2026-06-09T03:00:38.4120585Z         "impl": {
2026-06-09T03:00:38.4120774Z           "complete": true,
2026-06-09T03:00:38.4120974Z           "evidence": [
2026-06-09T03:00:38.4121166Z             {
2026-06-09T03:00:38.4121375Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-09T03:00:38.4121632Z               "line": 16
2026-06-09T03:00:38.4121819Z             },
2026-06-09T03:00:38.4121995Z             {
2026-06-09T03:00:38.4122200Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-09T03:00:38.4122458Z               "line": 12
2026-06-09T03:00:38.4122658Z             },
2026-06-09T03:00:38.4122834Z             {
2026-06-09T03:00:38.4123033Z               "path": "crates/spt-store/src/lib.rs",
2026-06-09T03:00:38.4123269Z               "line": 12
2026-06-09T03:00:38.4123442Z             }
2026-06-09T03:00:38.4123612Z           ]
2026-06-09T03:00:38.4123775Z         },
2026-06-09T03:00:38.4123936Z         "int": {
2026-06-09T03:00:38.4124118Z           "complete": false,
2026-06-09T03:00:38.4124314Z           "evidence": []
2026-06-09T03:00:38.4124486Z         },
2026-06-09T03:00:38.4124644Z         "unit": {
2026-06-09T03:00:38.4124819Z           "complete": false,
2026-06-09T03:00:38.4125006Z           "evidence": []
2026-06-09T03:00:38.4125186Z         }
2026-06-09T03:00:38.4125349Z       }
2026-06-09T03:00:38.4125500Z     },
2026-06-09T03:00:38.4125657Z     {
2026-06-09T03:00:38.4125826Z       "id": "REQ-ARCH-2",
2026-06-09T03:00:38.4126089Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-09T03:00:38.4126409Z       "requiredStages": [
2026-06-09T03:00:38.4126595Z         "impl"
2026-06-09T03:00:38.4126766Z       ],
2026-06-09T03:00:38.4126929Z       "stages": {
2026-06-09T03:00:38.4127176Z         "doc": {
2026-06-09T03:00:38.4127357Z           "complete": false,
2026-06-09T03:00:38.4127554Z           "evidence": []
2026-06-09T03:00:38.4127734Z         },
2026-06-09T03:00:38.4127892Z         "impl": {
2026-06-09T03:00:38.4128072Z           "complete": true,
2026-06-09T03:00:38.4128264Z           "evidence": [
2026-06-09T03:00:38.4128443Z             {
2026-06-09T03:00:38.4128639Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-09T03:00:38.4128878Z               "line": 18
2026-06-09T03:00:38.4129063Z             }
2026-06-09T03:00:38.4129225Z           ]
2026-06-09T03:00:38.4129397Z         },
2026-06-09T03:00:38.4129564Z         "int": {
2026-06-09T03:00:38.4129750Z           "complete": false,
2026-06-09T03:00:38.4129941Z           "evidence": []
2026-06-09T03:00:38.4130142Z         },
2026-06-09T03:00:38.4130303Z         "unit": {
2026-06-09T03:00:38.4130476Z           "complete": false,
2026-06-09T03:00:38.4130675Z           "evidence": []
2026-06-09T03:00:38.4130856Z         }
2026-06-09T03:00:38.4131017Z       }
2026-06-09T03:00:38.4131178Z     },
2026-06-09T03:00:38.4131334Z     {
2026-06-09T03:00:38.4131497Z       "id": "REQ-ARCH-3",
2026-06-09T03:00:38.4131797Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-09T03:00:38.4132135Z       "requiredStages": [
2026-06-09T03:00:38.4132327Z         "impl",
2026-06-09T03:00:38.4132498Z         "unit"
2026-06-09T03:00:38.4132666Z       ],
2026-06-09T03:00:38.4132822Z       "stages": {
2026-06-09T03:00:38.4132995Z         "doc": {
2026-06-09T03:00:38.4133165Z           "complete": false,
2026-06-09T03:00:38.4133362Z           "evidence": []
2026-06-09T03:00:38.4133545Z         },
2026-06-09T03:00:38.4133707Z         "impl": {
2026-06-09T03:00:38.4134012Z           "complete": true,
2026-06-09T03:00:38.4134302Z           "evidence": [
2026-06-09T03:00:38.4134478Z             {
2026-06-09T03:00:38.4134678Z               "path": "crates/spt-proto/src/version.rs",
2026-06-09T03:00:38.4134922Z               "line": 34
2026-06-09T03:00:38.4135093Z             },
2026-06-09T03:00:38.4135256Z             {
2026-06-09T03:00:38.4135437Z               "path": "crates/spt-proto/src/version.rs",
2026-06-09T03:00:38.4135675Z               "line": 41
2026-06-09T03:00:38.4135853Z             }
2026-06-09T03:00:38.4136013Z           ]
2026-06-09T03:00:38.4136180Z         },
2026-06-09T03:00:38.4136344Z         "int": {
2026-06-09T03:00:38.4136520Z           "complete": false,
2026-06-09T03:00:38.4136715Z           "evidence": []
2026-06-09T03:00:38.4136893Z         },
2026-06-09T03:00:38.4137141Z         "unit": {
2026-06-09T03:00:38.4137326Z           "complete": true,
2026-06-09T03:00:38.4137527Z           "evidence": [
2026-06-09T03:00:38.4137707Z             {
2026-06-09T03:00:38.4137912Z               "path": "crates/spt-proto/src/version.rs",
2026-06-09T03:00:38.4138171Z               "line": 51
2026-06-09T03:00:38.4138346Z             },
2026-06-09T03:00:38.4138514Z             {
2026-06-09T03:00:38.4138705Z               "path": "crates/spt-proto/src/version.rs",
2026-06-09T03:00:38.4138946Z               "line": 71
2026-06-09T03:00:38.4139128Z             },
2026-06-09T03:00:38.4139294Z             {
2026-06-09T03:00:38.4139486Z               "path": "crates/spt-proto/src/version.rs",
2026-06-09T03:00:38.4139738Z               "line": 83
2026-06-09T03:00:38.4139909Z             }
2026-06-09T03:00:38.4140068Z           ]
2026-06-09T03:00:38.4140233Z         }
2026-06-09T03:00:38.4140392Z       }
2026-06-09T03:00:38.4140558Z     },
2026-06-09T03:00:38.4140707Z     {
2026-06-09T03:00:38.4140867Z       "id": "REQ-ARCH-4",
2026-06-09T03:00:38.4141134Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-09T03:00:38.4141439Z       "requiredStages": [
2026-06-09T03:00:38.4141639Z         "impl",
2026-06-09T03:00:38.4141818Z         "unit"
2026-06-09T03:00:38.4141977Z       ],
2026-06-09T03:00:38.4142137Z       "stages": {
2026-06-09T03:00:38.4142310Z         "doc": {
2026-06-09T03:00:38.4142485Z           "complete": false,
2026-06-09T03:00:38.4142676Z           "evidence": []
2026-06-09T03:00:38.4142853Z         },
2026-06-09T03:00:38.4143010Z         "impl": {
2026-06-09T03:00:38.4143187Z           "complete": true,
2026-06-09T03:00:38.4143382Z           "evidence": [
2026-06-09T03:00:38.4143560Z             {
2026-06-09T03:00:38.4143759Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4144006Z               "line": 82
2026-06-09T03:00:38.4144187Z             },
2026-06-09T03:00:38.4144352Z             {
2026-06-09T03:00:38.4144538Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4144776Z               "line": 96
2026-06-09T03:00:38.4144957Z             },
2026-06-09T03:00:38.4145129Z             {
2026-06-09T03:00:38.4145329Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4145563Z               "line": 116
2026-06-09T03:00:38.4145749Z             },
2026-06-09T03:00:38.4145915Z             {
2026-06-09T03:00:38.4146098Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4146326Z               "line": 131
2026-06-09T03:00:38.4146502Z             },
2026-06-09T03:00:38.4146667Z             {
2026-06-09T03:00:38.4146852Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4147167Z               "line": 181
2026-06-09T03:00:38.4147347Z             }
2026-06-09T03:00:38.4147515Z           ]
2026-06-09T03:00:38.4147676Z         },
2026-06-09T03:00:38.4147839Z         "int": {
2026-06-09T03:00:38.4148021Z           "complete": false,
2026-06-09T03:00:38.4148215Z           "evidence": []
2026-06-09T03:00:38.4148402Z         },
2026-06-09T03:00:38.4148572Z         "unit": {
2026-06-09T03:00:38.4148754Z           "complete": true,
2026-06-09T03:00:38.4149144Z           "evidence": [
2026-06-09T03:00:38.4149327Z             {
2026-06-09T03:00:38.4149515Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4149759Z               "line": 242
2026-06-09T03:00:38.4149941Z             },
2026-06-09T03:00:38.4150112Z             {
2026-06-09T03:00:38.4150303Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4150541Z               "line": 252
2026-06-09T03:00:38.4150723Z             },
2026-06-09T03:00:38.4150890Z             {
2026-06-09T03:00:38.4151071Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4151305Z               "line": 263
2026-06-09T03:00:38.4151481Z             },
2026-06-09T03:00:38.4151652Z             {
2026-06-09T03:00:38.4151840Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4152070Z               "line": 274
2026-06-09T03:00:38.4152256Z             },
2026-06-09T03:00:38.4152421Z             {
2026-06-09T03:00:38.4152618Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4152865Z               "line": 286
2026-06-09T03:00:38.4153045Z             },
2026-06-09T03:00:38.4153209Z             {
2026-06-09T03:00:38.4153399Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4153637Z               "line": 299
2026-06-09T03:00:38.4153815Z             },
2026-06-09T03:00:38.4153980Z             {
2026-06-09T03:00:38.4154167Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4154401Z               "line": 310
2026-06-09T03:00:38.4154585Z             },
2026-06-09T03:00:38.4154742Z             {
2026-06-09T03:00:38.4154935Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4155170Z               "line": 327
2026-06-09T03:00:38.4155351Z             },
2026-06-09T03:00:38.4155513Z             {
2026-06-09T03:00:38.4155709Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4155941Z               "line": 358
2026-06-09T03:00:38.4156152Z             }
2026-06-09T03:00:38.4156333Z           ]
2026-06-09T03:00:38.4156495Z         }
2026-06-09T03:00:38.4156663Z       }
2026-06-09T03:00:38.4156819Z     },
2026-06-09T03:00:38.4157062Z     {
2026-06-09T03:00:38.4157232Z       "id": "REQ-CLI-1",
2026-06-09T03:00:38.4158408Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-09T03:00:38.4159591Z       "requiredStages": [
2026-06-09T03:00:38.4159791Z         "impl",
2026-06-09T03:00:38.4159967Z         "unit"
2026-06-09T03:00:38.4160133Z       ],
2026-06-09T03:00:38.4160301Z       "stages": {
2026-06-09T03:00:38.4160472Z         "doc": {
2026-06-09T03:00:38.4160658Z           "complete": false,
2026-06-09T03:00:38.4160873Z           "evidence": []
2026-06-09T03:00:38.4161058Z         },
2026-06-09T03:00:38.4161225Z         "impl": {
2026-06-09T03:00:38.4161411Z           "complete": true,
2026-06-09T03:00:38.4161606Z           "evidence": [
2026-06-09T03:00:38.4161794Z             {
2026-06-09T03:00:38.4161988Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4162217Z               "line": 193
2026-06-09T03:00:38.4162400Z             },
2026-06-09T03:00:38.4162565Z             {
2026-06-09T03:00:38.4162745Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4162976Z               "line": 769
2026-06-09T03:00:38.4163158Z             },
2026-06-09T03:00:38.4163320Z             {
2026-06-09T03:00:38.4163492Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4163726Z               "line": 1070
2026-06-09T03:00:38.4163910Z             },
2026-06-09T03:00:38.4164074Z             {
2026-06-09T03:00:38.4164254Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4164675Z               "line": 1913
2026-06-09T03:00:38.4164864Z             }
2026-06-09T03:00:38.4165028Z           ]
2026-06-09T03:00:38.4165193Z         },
2026-06-09T03:00:38.4165359Z         "int": {
2026-06-09T03:00:38.4165543Z           "complete": false,
2026-06-09T03:00:38.4165744Z           "evidence": []
2026-06-09T03:00:38.4165934Z         },
2026-06-09T03:00:38.4166101Z         "unit": {
2026-06-09T03:00:38.4166293Z           "complete": true,
2026-06-09T03:00:38.4166497Z           "evidence": [
2026-06-09T03:00:38.4166678Z             {
2026-06-09T03:00:38.4166870Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4167189Z               "line": 5037
2026-06-09T03:00:38.4167384Z             }
2026-06-09T03:00:38.4167557Z           ]
2026-06-09T03:00:38.4167722Z         }
2026-06-09T03:00:38.4167888Z       }
2026-06-09T03:00:38.4168062Z     },
2026-06-09T03:00:38.4168230Z     {
2026-06-09T03:00:38.4168401Z       "id": "REQ-CLI-2",
2026-06-09T03:00:38.4169197Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-09T03:00:38.4170008Z       "requiredStages": [
2026-06-09T03:00:38.4170203Z         "impl",
2026-06-09T03:00:38.4170381Z         "unit"
2026-06-09T03:00:38.4170560Z       ],
2026-06-09T03:00:38.4170722Z       "stages": {
2026-06-09T03:00:38.4170899Z         "doc": {
2026-06-09T03:00:38.4171080Z           "complete": false,
2026-06-09T03:00:38.4171284Z           "evidence": []
2026-06-09T03:00:38.4171471Z         },
2026-06-09T03:00:38.4171642Z         "impl": {
2026-06-09T03:00:38.4171819Z           "complete": true,
2026-06-09T03:00:38.4172020Z           "evidence": [
2026-06-09T03:00:38.4172210Z             {
2026-06-09T03:00:38.4172415Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4172683Z               "line": 271
2026-06-09T03:00:38.4172873Z             },
2026-06-09T03:00:38.4173040Z             {
2026-06-09T03:00:38.4173248Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-09T03:00:38.4173503Z               "line": 65
2026-06-09T03:00:38.4173686Z             },
2026-06-09T03:00:38.4173865Z             {
2026-06-09T03:00:38.4174062Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.4174310Z               "line": 239
2026-06-09T03:00:38.4174500Z             },
2026-06-09T03:00:38.4174667Z             {
2026-06-09T03:00:38.4174857Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4175091Z               "line": 337
2026-06-09T03:00:38.4175273Z             },
2026-06-09T03:00:38.4183466Z             {
2026-06-09T03:00:38.4183689Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4183941Z               "line": 811
2026-06-09T03:00:38.4184135Z             },
2026-06-09T03:00:38.4184317Z             {
2026-06-09T03:00:38.4184512Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4184740Z               "line": 1261
2026-06-09T03:00:38.4184936Z             },
2026-06-09T03:00:38.4185103Z             {
2026-06-09T03:00:38.4185289Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4185518Z               "line": 1316
2026-06-09T03:00:38.4185708Z             },
2026-06-09T03:00:38.4185866Z             {
2026-06-09T03:00:38.4186048Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4186270Z               "line": 1342
2026-06-09T03:00:38.4186451Z             }
2026-06-09T03:00:38.4186601Z           ]
2026-06-09T03:00:38.4186759Z         },
2026-06-09T03:00:38.4186916Z         "int": {
2026-06-09T03:00:38.4187164Z           "complete": false,
2026-06-09T03:00:38.4187365Z           "evidence": []
2026-06-09T03:00:38.4187550Z         },
2026-06-09T03:00:38.4187723Z         "unit": {
2026-06-09T03:00:38.4187898Z           "complete": true,
2026-06-09T03:00:38.4188232Z           "evidence": [
2026-06-09T03:00:38.4188634Z             {
2026-06-09T03:00:38.4188837Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.4189084Z               "line": 309
2026-06-09T03:00:38.4189268Z             },
2026-06-09T03:00:38.4189431Z             {
2026-06-09T03:00:38.4189621Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4189859Z               "line": 5175
2026-06-09T03:00:38.4190041Z             }
2026-06-09T03:00:38.4190207Z           ]
2026-06-09T03:00:38.4190365Z         }
2026-06-09T03:00:38.4190522Z       }
2026-06-09T03:00:38.4190684Z     },
2026-06-09T03:00:38.4190847Z     {
2026-06-09T03:00:38.4191013Z       "id": "REQ-CLI-3",
2026-06-09T03:00:38.4191813Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-09T03:00:38.4192662Z       "requiredStages": [
2026-06-09T03:00:38.4192859Z         "impl",
2026-06-09T03:00:38.4193034Z         "unit"
2026-06-09T03:00:38.4193206Z       ],
2026-06-09T03:00:38.4193378Z       "stages": {
2026-06-09T03:00:38.4193559Z         "doc": {
2026-06-09T03:00:38.4193750Z           "complete": false,
2026-06-09T03:00:38.4193959Z           "evidence": []
2026-06-09T03:00:38.4194146Z         },
2026-06-09T03:00:38.4194311Z         "impl": {
2026-06-09T03:00:38.4194492Z           "complete": true,
2026-06-09T03:00:38.4194690Z           "evidence": [
2026-06-09T03:00:38.4194872Z             {
2026-06-09T03:00:38.4195063Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4195300Z               "line": 763
2026-06-09T03:00:38.4195492Z             }
2026-06-09T03:00:38.4195654Z           ]
2026-06-09T03:00:38.4195811Z         },
2026-06-09T03:00:38.4195973Z         "int": {
2026-06-09T03:00:38.4196149Z           "complete": false,
2026-06-09T03:00:38.4196356Z           "evidence": []
2026-06-09T03:00:38.4196550Z         },
2026-06-09T03:00:38.4196713Z         "unit": {
2026-06-09T03:00:38.4196892Z           "complete": true,
2026-06-09T03:00:38.4197171Z           "evidence": [
2026-06-09T03:00:38.4197349Z             {
2026-06-09T03:00:38.4197533Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4197763Z               "line": 5002
2026-06-09T03:00:38.4197949Z             }
2026-06-09T03:00:38.4198110Z           ]
2026-06-09T03:00:38.4198269Z         }
2026-06-09T03:00:38.4198430Z       }
2026-06-09T03:00:38.4198588Z     },
2026-06-09T03:00:38.4198745Z     {
2026-06-09T03:00:38.4198912Z       "id": "REQ-CONSENT-1",
2026-06-09T03:00:38.4199876Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-09T03:00:38.4200864Z       "requiredStages": [
2026-06-09T03:00:38.4201054Z         "impl",
2026-06-09T03:00:38.4201226Z         "unit"
2026-06-09T03:00:38.4201388Z       ],
2026-06-09T03:00:38.4201555Z       "stages": {
2026-06-09T03:00:38.4201726Z         "doc": {
2026-06-09T03:00:38.4201902Z           "complete": false,
2026-06-09T03:00:38.4202095Z           "evidence": []
2026-06-09T03:00:38.4202274Z         },
2026-06-09T03:00:38.4202441Z         "impl": {
2026-06-09T03:00:38.4202621Z           "complete": true,
2026-06-09T03:00:38.4202817Z           "evidence": [
2026-06-09T03:00:38.4203003Z             {
2026-06-09T03:00:38.4203208Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4203447Z               "line": 27
2026-06-09T03:00:38.4203637Z             },
2026-06-09T03:00:38.4203804Z             {
2026-06-09T03:00:38.4204000Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4204368Z               "line": 75
2026-06-09T03:00:38.4204644Z             },
2026-06-09T03:00:38.4204885Z             {
2026-06-09T03:00:38.4205094Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4205337Z               "line": 98
2026-06-09T03:00:38.4205517Z             },
2026-06-09T03:00:38.4205689Z             {
2026-06-09T03:00:38.4205909Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4206142Z               "line": 82
2026-06-09T03:00:38.4206323Z             },
2026-06-09T03:00:38.4206485Z             {
2026-06-09T03:00:38.4206681Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4206921Z               "line": 109
2026-06-09T03:00:38.4207178Z             },
2026-06-09T03:00:38.4207343Z             {
2026-06-09T03:00:38.4207529Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4207764Z               "line": 127
2026-06-09T03:00:38.4207947Z             },
2026-06-09T03:00:38.4208112Z             {
2026-06-09T03:00:38.4208318Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4208557Z               "line": 142
2026-06-09T03:00:38.4208732Z             },
2026-06-09T03:00:38.4208900Z             {
2026-06-09T03:00:38.4209071Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4209300Z               "line": 4738
2026-06-09T03:00:38.4209487Z             }
2026-06-09T03:00:38.4209648Z           ]
2026-06-09T03:00:38.4209807Z         },
2026-06-09T03:00:38.4209971Z         "int": {
2026-06-09T03:00:38.4210152Z           "complete": false,
2026-06-09T03:00:38.4210350Z           "evidence": []
2026-06-09T03:00:38.4210533Z         },
2026-06-09T03:00:38.4210693Z         "unit": {
2026-06-09T03:00:38.4210866Z           "complete": true,
2026-06-09T03:00:38.4211062Z           "evidence": [
2026-06-09T03:00:38.4211242Z             {
2026-06-09T03:00:38.4211438Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4211682Z               "line": 334
2026-06-09T03:00:38.4211877Z             },
2026-06-09T03:00:38.4212044Z             {
2026-06-09T03:00:38.4212238Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4212481Z               "line": 380
2026-06-09T03:00:38.4212655Z             },
2026-06-09T03:00:38.4212815Z             {
2026-06-09T03:00:38.4213011Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4213243Z               "line": 391
2026-06-09T03:00:38.4213431Z             },
2026-06-09T03:00:38.4213597Z             {
2026-06-09T03:00:38.4213797Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4214031Z               "line": 165
2026-06-09T03:00:38.4214212Z             },
2026-06-09T03:00:38.4214374Z             {
2026-06-09T03:00:38.4214566Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4214798Z               "line": 184
2026-06-09T03:00:38.4214980Z             },
2026-06-09T03:00:38.4215142Z             {
2026-06-09T03:00:38.4215337Z               "path": "crates/spt-store/src/grants.rs",
2026-06-09T03:00:38.4215575Z               "line": 204
2026-06-09T03:00:38.4215753Z             },
2026-06-09T03:00:38.4215911Z             {
2026-06-09T03:00:38.4216091Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4216321Z               "line": 5336
2026-06-09T03:00:38.4216508Z             }
2026-06-09T03:00:38.4216673Z           ]
2026-06-09T03:00:38.4216837Z         }
2026-06-09T03:00:38.4217084Z       }
2026-06-09T03:00:38.4217231Z     },
2026-06-09T03:00:38.4217384Z     {
2026-06-09T03:00:38.4217541Z       "id": "REQ-CONSENT-2",
2026-06-09T03:00:38.4218464Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-09T03:00:38.4219389Z       "requiredStages": [
2026-06-09T03:00:38.4219784Z         "impl",
2026-06-09T03:00:38.4219960Z         "unit"
2026-06-09T03:00:38.4220122Z       ],
2026-06-09T03:00:38.4220290Z       "stages": {
2026-06-09T03:00:38.4220456Z         "doc": {
2026-06-09T03:00:38.4220636Z           "complete": false,
2026-06-09T03:00:38.4220835Z           "evidence": []
2026-06-09T03:00:38.4221021Z         },
2026-06-09T03:00:38.4221187Z         "impl": {
2026-06-09T03:00:38.4221364Z           "complete": true,
2026-06-09T03:00:38.4221554Z           "evidence": [
2026-06-09T03:00:38.4221735Z             {
2026-06-09T03:00:38.4221937Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4222179Z               "line": 140
2026-06-09T03:00:38.4222365Z             },
2026-06-09T03:00:38.4222532Z             {
2026-06-09T03:00:38.4222722Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4222962Z               "line": 165
2026-06-09T03:00:38.4223147Z             },
2026-06-09T03:00:38.4223319Z             {
2026-06-09T03:00:38.4223518Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4223746Z               "line": 199
2026-06-09T03:00:38.4223929Z             },
2026-06-09T03:00:38.4224084Z             {
2026-06-09T03:00:38.4224281Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4224515Z               "line": 241
2026-06-09T03:00:38.4224695Z             },
2026-06-09T03:00:38.4224859Z             {
2026-06-09T03:00:38.4225048Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4225286Z               "line": 269
2026-06-09T03:00:38.4225474Z             },
2026-06-09T03:00:38.4225639Z             {
2026-06-09T03:00:38.4225836Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4226073Z               "line": 300
2026-06-09T03:00:38.4226256Z             },
2026-06-09T03:00:38.4226418Z             {
2026-06-09T03:00:38.4226599Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4226838Z               "line": 4603
2026-06-09T03:00:38.4227111Z             },
2026-06-09T03:00:38.4227620Z             {
2026-06-09T03:00:38.4227877Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4228183Z               "line": 4661
2026-06-09T03:00:38.4228535Z             }
2026-06-09T03:00:38.4228813Z           ]
2026-06-09T03:00:38.4229010Z         },
2026-06-09T03:00:38.4229204Z         "int": {
2026-06-09T03:00:38.4229429Z           "complete": false,
2026-06-09T03:00:38.4229681Z           "evidence": []
2026-06-09T03:00:38.4229901Z         },
2026-06-09T03:00:38.4230091Z         "unit": {
2026-06-09T03:00:38.4230302Z           "complete": true,
2026-06-09T03:00:38.4230535Z           "evidence": [
2026-06-09T03:00:38.4230749Z             {
2026-06-09T03:00:38.4230993Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4231305Z               "line": 419
2026-06-09T03:00:38.4231528Z             },
2026-06-09T03:00:38.4231728Z             {
2026-06-09T03:00:38.4231986Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4232286Z               "line": 436
2026-06-09T03:00:38.4232502Z             },
2026-06-09T03:00:38.4232701Z             {
2026-06-09T03:00:38.4232930Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4233226Z               "line": 472
2026-06-09T03:00:38.4233436Z             },
2026-06-09T03:00:38.4233634Z             {
2026-06-09T03:00:38.4233870Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.4234160Z               "line": 516
2026-06-09T03:00:38.4234378Z             },
2026-06-09T03:00:38.4234574Z             {
2026-06-09T03:00:38.4234799Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4235094Z               "line": 6231
2026-06-09T03:00:38.4235318Z             },
2026-06-09T03:00:38.4235513Z             {
2026-06-09T03:00:38.4235729Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4236006Z               "line": 6313
2026-06-09T03:00:38.4236448Z             }
2026-06-09T03:00:38.4236770Z           ]
2026-06-09T03:00:38.4237027Z         }
2026-06-09T03:00:38.4237226Z       }
2026-06-09T03:00:38.4237423Z     },
2026-06-09T03:00:38.4237613Z     {
2026-06-09T03:00:38.4237822Z       "id": "REQ-CONV-1",
2026-06-09T03:00:38.4239478Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-09T03:00:38.4240829Z       "requiredStages": [
2026-06-09T03:00:38.4241028Z         "impl",
2026-06-09T03:00:38.4241200Z         "unit"
2026-06-09T03:00:38.4241367Z       ],
2026-06-09T03:00:38.4241525Z       "stages": {
2026-06-09T03:00:38.4241718Z         "doc": {
2026-06-09T03:00:38.4241902Z           "complete": false,
2026-06-09T03:00:38.4242098Z           "evidence": []
2026-06-09T03:00:38.4242283Z         },
2026-06-09T03:00:38.4242451Z         "impl": {
2026-06-09T03:00:38.4242626Z           "complete": true,
2026-06-09T03:00:38.4242828Z           "evidence": [
2026-06-09T03:00:38.4243008Z             {
2026-06-09T03:00:38.4243209Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4243462Z               "line": 696
2026-06-09T03:00:38.4243643Z             },
2026-06-09T03:00:38.4243809Z             {
2026-06-09T03:00:38.4244006Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.4244262Z               "line": 94
2026-06-09T03:00:38.4244443Z             },
2026-06-09T03:00:38.4244609Z             {
2026-06-09T03:00:38.4244800Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.4245044Z               "line": 345
2026-06-09T03:00:38.4245234Z             },
2026-06-09T03:00:38.4245416Z             {
2026-06-09T03:00:38.4245612Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.4245858Z               "line": 387
2026-06-09T03:00:38.4246050Z             },
2026-06-09T03:00:38.4246217Z             {
2026-06-09T03:00:38.4246402Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.4246642Z               "line": 472
2026-06-09T03:00:38.4246827Z             },
2026-06-09T03:00:38.4247097Z             {
2026-06-09T03:00:38.4247297Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4247548Z               "line": 629
2026-06-09T03:00:38.4247724Z             },
2026-06-09T03:00:38.4247883Z             {
2026-06-09T03:00:38.4248072Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4248311Z               "line": 655
2026-06-09T03:00:38.4248488Z             },
2026-06-09T03:00:38.4248650Z             {
2026-06-09T03:00:38.4248841Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.4249118Z               "line": 369
2026-06-09T03:00:38.4249318Z             },
2026-06-09T03:00:38.4249556Z             {
2026-06-09T03:00:38.4249793Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-09T03:00:38.4250033Z               "line": 19
2026-06-09T03:00:38.4250206Z             }
2026-06-09T03:00:38.4250362Z           ]
2026-06-09T03:00:38.4250525Z         },
2026-06-09T03:00:38.4250687Z         "int": {
2026-06-09T03:00:38.4250869Z           "complete": false,
2026-06-09T03:00:38.4251069Z           "evidence": []
2026-06-09T03:00:38.4251249Z         },
2026-06-09T03:00:38.4251408Z         "unit": {
2026-06-09T03:00:38.4251578Z           "complete": true,
2026-06-09T03:00:38.4251770Z           "evidence": [
2026-06-09T03:00:38.4251946Z             {
2026-06-09T03:00:38.4252145Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4252393Z               "line": 990
2026-06-09T03:00:38.4252692Z             },
2026-06-09T03:00:38.4252982Z             {
2026-06-09T03:00:38.4253177Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-09T03:00:38.4253421Z               "line": 108
2026-06-09T03:00:38.4253602Z             },
2026-06-09T03:00:38.4253759Z             {
2026-06-09T03:00:38.4253951Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-09T03:00:38.4254193Z               "line": 134
2026-06-09T03:00:38.4254374Z             },
2026-06-09T03:00:38.4254532Z             {
2026-06-09T03:00:38.4254722Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-09T03:00:38.4254975Z               "line": 144
2026-06-09T03:00:38.4255155Z             }
2026-06-09T03:00:38.4255327Z           ]
2026-06-09T03:00:38.4255489Z         }
2026-06-09T03:00:38.4255652Z       }
2026-06-09T03:00:38.4255813Z     },
2026-06-09T03:00:38.4255966Z     {
2026-06-09T03:00:38.4256138Z       "id": "REQ-CONV-2",
2026-06-09T03:00:38.4303278Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-09T03:00:38.4304408Z       "requiredStages": [
2026-06-09T03:00:38.4304613Z         "impl",
2026-06-09T03:00:38.4304781Z         "unit"
2026-06-09T03:00:38.4304946Z       ],
2026-06-09T03:00:38.4305102Z       "stages": {
2026-06-09T03:00:38.4305273Z         "doc": {
2026-06-09T03:00:38.4305454Z           "complete": false,
2026-06-09T03:00:38.4305649Z           "evidence": []
2026-06-09T03:00:38.4305831Z         },
2026-06-09T03:00:38.4305992Z         "impl": {
2026-06-09T03:00:38.4306165Z           "complete": true,
2026-06-09T03:00:38.4306359Z           "evidence": [
2026-06-09T03:00:38.4306541Z             {
2026-06-09T03:00:38.4306747Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4307090Z               "line": 316
2026-06-09T03:00:38.4307279Z             },
2026-06-09T03:00:38.4307438Z             {
2026-06-09T03:00:38.4307633Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4307884Z               "line": 333
2026-06-09T03:00:38.4308062Z             },
2026-06-09T03:00:38.4308218Z             {
2026-06-09T03:00:38.4308423Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4308672Z               "line": 761
2026-06-09T03:00:38.4308856Z             },
2026-06-09T03:00:38.4309025Z             {
2026-06-09T03:00:38.4309229Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4309477Z               "line": 772
2026-06-09T03:00:38.4309659Z             },
2026-06-09T03:00:38.4309815Z             {
2026-06-09T03:00:38.4309998Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4310237Z               "line": 334
2026-06-09T03:00:38.4310420Z             },
2026-06-09T03:00:38.4310592Z             {
2026-06-09T03:00:38.4310775Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4311005Z               "line": 1868
2026-06-09T03:00:38.4311191Z             },
2026-06-09T03:00:38.4311344Z             {
2026-06-09T03:00:38.4311520Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4311738Z               "line": 1884
2026-06-09T03:00:38.4311925Z             },
2026-06-09T03:00:38.4312082Z             {
2026-06-09T03:00:38.4312258Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4312478Z               "line": 1941
2026-06-09T03:00:38.4312654Z             }
2026-06-09T03:00:38.4312817Z           ]
2026-06-09T03:00:38.4312973Z         },
2026-06-09T03:00:38.4313130Z         "int": {
2026-06-09T03:00:38.4313309Z           "complete": false,
2026-06-09T03:00:38.4313505Z           "evidence": []
2026-06-09T03:00:38.4313685Z         },
2026-06-09T03:00:38.4313838Z         "unit": {
2026-06-09T03:00:38.4314257Z           "complete": true,
2026-06-09T03:00:38.4314554Z           "evidence": [
2026-06-09T03:00:38.4314735Z             {
2026-06-09T03:00:38.4314939Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4315182Z               "line": 1071
2026-06-09T03:00:38.4315365Z             }
2026-06-09T03:00:38.4315525Z           ]
2026-06-09T03:00:38.4315682Z         }
2026-06-09T03:00:38.4315837Z       }
2026-06-09T03:00:38.4315989Z     },
2026-06-09T03:00:38.4316138Z     {
2026-06-09T03:00:38.4316304Z       "id": "REQ-DAEMON-1",
2026-06-09T03:00:38.4316561Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-09T03:00:38.4316853Z       "requiredStages": [
2026-06-09T03:00:38.4317120Z         "impl",
2026-06-09T03:00:38.4317288Z         "unit",
2026-06-09T03:00:38.4317448Z         "int"
2026-06-09T03:00:38.4317607Z       ],
2026-06-09T03:00:38.4317759Z       "stages": {
2026-06-09T03:00:38.4317927Z         "doc": {
2026-06-09T03:00:38.4318097Z           "complete": false,
2026-06-09T03:00:38.4318304Z           "evidence": []
2026-06-09T03:00:38.4318482Z         },
2026-06-09T03:00:38.4318646Z         "impl": {
2026-06-09T03:00:38.4318816Z           "complete": true,
2026-06-09T03:00:38.4319008Z           "evidence": [
2026-06-09T03:00:38.4319188Z             {
2026-06-09T03:00:38.4319379Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4319618Z               "line": 12
2026-06-09T03:00:38.4319789Z             },
2026-06-09T03:00:38.4319956Z             {
2026-06-09T03:00:38.4320157Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4320399Z               "line": 16
2026-06-09T03:00:38.4320572Z             },
2026-06-09T03:00:38.4320733Z             {
2026-06-09T03:00:38.4320929Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-09T03:00:38.4321161Z               "line": 15
2026-06-09T03:00:38.4321340Z             },
2026-06-09T03:00:38.4321499Z             {
2026-06-09T03:00:38.4321688Z               "path": "crates/spt/src/api/live.rs",
2026-06-09T03:00:38.4321927Z               "line": 13
2026-06-09T03:00:38.4322099Z             }
2026-06-09T03:00:38.4322261Z           ]
2026-06-09T03:00:38.4322419Z         },
2026-06-09T03:00:38.4322571Z         "int": {
2026-06-09T03:00:38.4322743Z           "complete": true,
2026-06-09T03:00:38.4322932Z           "evidence": [
2026-06-09T03:00:38.4323106Z             {
2026-06-09T03:00:38.4323305Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-09T03:00:38.4323590Z               "line": 32
2026-06-09T03:00:38.4323766Z             }
2026-06-09T03:00:38.4323921Z           ]
2026-06-09T03:00:38.4324074Z         },
2026-06-09T03:00:38.4324236Z         "unit": {
2026-06-09T03:00:38.4324408Z           "complete": true,
2026-06-09T03:00:38.4324598Z           "evidence": [
2026-06-09T03:00:38.4324770Z             {
2026-06-09T03:00:38.4324961Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4325199Z               "line": 285
2026-06-09T03:00:38.4325394Z             },
2026-06-09T03:00:38.4325556Z             {
2026-06-09T03:00:38.4325747Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4326020Z               "line": 293
2026-06-09T03:00:38.4326204Z             },
2026-06-09T03:00:38.4326365Z             {
2026-06-09T03:00:38.4326564Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4326798Z               "line": 309
2026-06-09T03:00:38.4327069Z             },
2026-06-09T03:00:38.4327242Z             {
2026-06-09T03:00:38.4327432Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4327666Z               "line": 317
2026-06-09T03:00:38.4327838Z             },
2026-06-09T03:00:38.4328009Z             {
2026-06-09T03:00:38.4328201Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4328448Z               "line": 565
2026-06-09T03:00:38.4328619Z             },
2026-06-09T03:00:38.4328778Z             {
2026-06-09T03:00:38.4329076Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4329410Z               "line": 635
2026-06-09T03:00:38.4329592Z             },
2026-06-09T03:00:38.4329753Z             {
2026-06-09T03:00:38.4329944Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-09T03:00:38.4330178Z               "line": 104
2026-06-09T03:00:38.4330359Z             },
2026-06-09T03:00:38.4330521Z             {
2026-06-09T03:00:38.4330707Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-09T03:00:38.4330936Z               "line": 129
2026-06-09T03:00:38.4331113Z             }
2026-06-09T03:00:38.4331274Z           ]
2026-06-09T03:00:38.4331507Z         }
2026-06-09T03:00:38.4331740Z       }
2026-06-09T03:00:38.4331962Z     },
2026-06-09T03:00:38.4332163Z     {
2026-06-09T03:00:38.4332330Z       "id": "REQ-DAEMON-2",
2026-06-09T03:00:38.4332567Z       "title": "Broker/brain split for seamless self-update",
2026-06-09T03:00:38.4332835Z       "requiredStages": [
2026-06-09T03:00:38.4333036Z         "impl",
2026-06-09T03:00:38.4333197Z         "unit",
2026-06-09T03:00:38.4333365Z         "int"
2026-06-09T03:00:38.4333521Z       ],
2026-06-09T03:00:38.4333680Z       "stages": {
2026-06-09T03:00:38.4333846Z         "doc": {
2026-06-09T03:00:38.4334023Z           "complete": false,
2026-06-09T03:00:38.4334216Z           "evidence": []
2026-06-09T03:00:38.4334391Z         },
2026-06-09T03:00:38.4334548Z         "impl": {
2026-06-09T03:00:38.4334720Z           "complete": true,
2026-06-09T03:00:38.4334906Z           "evidence": [
2026-06-09T03:00:38.4335086Z             {
2026-06-09T03:00:38.4335278Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4335526Z               "line": 23
2026-06-09T03:00:38.4335702Z             },
2026-06-09T03:00:38.4335860Z             {
2026-06-09T03:00:38.4335978Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4336064Z               "line": 531
2026-06-09T03:00:38.4336146Z             },
2026-06-09T03:00:38.4336242Z             {
2026-06-09T03:00:38.4336351Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4336436Z               "line": 684
2026-06-09T03:00:38.4336524Z             },
2026-06-09T03:00:38.4336612Z             {
2026-06-09T03:00:38.4336721Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4336812Z               "line": 32
2026-06-09T03:00:38.4336892Z             },
2026-06-09T03:00:38.4337096Z             {
2026-06-09T03:00:38.4337216Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4337305Z               "line": 191
2026-06-09T03:00:38.4337395Z             },
2026-06-09T03:00:38.4337478Z             {
2026-06-09T03:00:38.4337592Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4337677Z               "line": 546
2026-06-09T03:00:38.4337768Z             },
2026-06-09T03:00:38.4337859Z             {
2026-06-09T03:00:38.4337968Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4338078Z               "line": 788
2026-06-09T03:00:38.4338159Z             },
2026-06-09T03:00:38.4338250Z             {
2026-06-09T03:00:38.4338359Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-09T03:00:38.4338607Z               "line": 11
2026-06-09T03:00:38.4338732Z             },
2026-06-09T03:00:38.4338898Z             {
2026-06-09T03:00:38.4339037Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4339189Z               "line": 146
2026-06-09T03:00:38.4339352Z             },
2026-06-09T03:00:38.4339489Z             {
2026-06-09T03:00:38.4339665Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4339780Z               "line": 13
2026-06-09T03:00:38.4339926Z             },
2026-06-09T03:00:38.4340013Z             {
2026-06-09T03:00:38.4340260Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4340404Z               "line": 27
2026-06-09T03:00:38.4340518Z             },
2026-06-09T03:00:38.4340776Z             {
2026-06-09T03:00:38.4341010Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4341200Z               "line": 109
2026-06-09T03:00:38.4341344Z             },
2026-06-09T03:00:38.4341457Z             {
2026-06-09T03:00:38.4341645Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4341744Z               "line": 447
2026-06-09T03:00:38.4341941Z             },
2026-06-09T03:00:38.4342053Z             {
2026-06-09T03:00:38.4342224Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4342380Z               "line": 614
2026-06-09T03:00:38.4342479Z             },
2026-06-09T03:00:38.4342737Z             {
2026-06-09T03:00:38.4342952Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4343104Z               "line": 715
2026-06-09T03:00:38.4343229Z             },
2026-06-09T03:00:38.4343367Z             {
2026-06-09T03:00:38.4343596Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4343738Z               "line": 764
2026-06-09T03:00:38.4343892Z             },
2026-06-09T03:00:38.4344000Z             {
2026-06-09T03:00:38.4344159Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4344354Z               "line": 812
2026-06-09T03:00:38.4344459Z             },
2026-06-09T03:00:38.4344616Z             {
2026-06-09T03:00:38.4344762Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-09T03:00:38.4344891Z               "line": 10
2026-06-09T03:00:38.4345036Z             }
2026-06-09T03:00:38.4345204Z           ]
2026-06-09T03:00:38.4345379Z         },
2026-06-09T03:00:38.4345496Z         "int": {
2026-06-09T03:00:38.4345633Z           "complete": true,
2026-06-09T03:00:38.4345791Z           "evidence": [
2026-06-09T03:00:38.4345943Z             {
2026-06-09T03:00:38.4346110Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-09T03:00:38.4346258Z               "line": 17
2026-06-09T03:00:38.4346397Z             },
2026-06-09T03:00:38.4346552Z             {
2026-06-09T03:00:38.4346764Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-09T03:00:38.4346877Z               "line": 33
2026-06-09T03:00:38.4347112Z             },
2026-06-09T03:00:38.4347244Z             {
2026-06-09T03:00:38.4347467Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-09T03:00:38.4347641Z               "line": 19
2026-06-09T03:00:38.4347757Z             },
2026-06-09T03:00:38.4347894Z             {
2026-06-09T03:00:38.4348053Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-09T03:00:38.4348223Z               "line": 71
2026-06-09T03:00:38.4348386Z             },
2026-06-09T03:00:38.4348490Z             {
2026-06-09T03:00:38.4348668Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-09T03:00:38.4348781Z               "line": 91
2026-06-09T03:00:38.4348929Z             },
2026-06-09T03:00:38.4349101Z             {
2026-06-09T03:00:38.4349254Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-09T03:00:38.4349406Z               "line": 167
2026-06-09T03:00:38.4349515Z             },
2026-06-09T03:00:38.4349674Z             {
2026-06-09T03:00:38.4349845Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-09T03:00:38.4349984Z               "line": 209
2026-06-09T03:00:38.4350116Z             },
2026-06-09T03:00:38.4350220Z             {
2026-06-09T03:00:38.4350435Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-09T03:00:38.4350563Z               "line": 128
2026-06-09T03:00:38.4350702Z             }
2026-06-09T03:00:38.4350816Z           ]
2026-06-09T03:00:38.4350955Z         },
2026-06-09T03:00:38.4351149Z         "unit": {
2026-06-09T03:00:38.4351279Z           "complete": true,
2026-06-09T03:00:38.4351426Z           "evidence": [
2026-06-09T03:00:38.4351532Z             {
2026-06-09T03:00:38.4351708Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-09T03:00:38.4351890Z               "line": 62
2026-06-09T03:00:38.4352224Z             },
2026-06-09T03:00:38.4352365Z             {
2026-06-09T03:00:38.4352525Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-09T03:00:38.4352671Z               "line": 76
2026-06-09T03:00:38.4352770Z             },
2026-06-09T03:00:38.4352959Z             {
2026-06-09T03:00:38.4353130Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-09T03:00:38.4353255Z               "line": 88
2026-06-09T03:00:38.4353397Z             },
2026-06-09T03:00:38.4353489Z             {
2026-06-09T03:00:38.4353717Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-09T03:00:38.4353874Z               "line": 294
2026-06-09T03:00:38.4353984Z             },
2026-06-09T03:00:38.4354123Z             {
2026-06-09T03:00:38.4354246Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4354442Z               "line": 583
2026-06-09T03:00:38.4354551Z             },
2026-06-09T03:00:38.4354704Z             {
2026-06-09T03:00:38.4354880Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4354990Z               "line": 591
2026-06-09T03:00:38.4355185Z             },
2026-06-09T03:00:38.4355313Z             {
2026-06-09T03:00:38.4355479Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4355592Z               "line": 608
2026-06-09T03:00:38.4355716Z             },
2026-06-09T03:00:38.4355906Z             {
2026-06-09T03:00:38.4356056Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4356202Z               "line": 662
2026-06-09T03:00:38.4356322Z             },
2026-06-09T03:00:38.4356445Z             {
2026-06-09T03:00:38.4356680Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4356794Z               "line": 883
2026-06-09T03:00:38.4356932Z             },
2026-06-09T03:00:38.4357142Z             {
2026-06-09T03:00:38.4357319Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4357476Z               "line": 895
2026-06-09T03:00:38.4357663Z             },
2026-06-09T03:00:38.4357799Z             {
2026-06-09T03:00:38.4357946Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-09T03:00:38.4358078Z               "line": 110
2026-06-09T03:00:38.4358225Z             }
2026-06-09T03:00:38.4358393Z           ]
2026-06-09T03:00:38.4358502Z         }
2026-06-09T03:00:38.4358645Z       }
2026-06-09T03:00:38.4358783Z     },
2026-06-09T03:00:38.4358951Z     {
2026-06-09T03:00:38.4359117Z       "id": "REQ-DAEMON-3",
2026-06-09T03:00:38.4359294Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-09T03:00:38.4359446Z       "requiredStages": [
2026-06-09T03:00:38.4359581Z         "impl",
2026-06-09T03:00:38.4359737Z         "unit",
2026-06-09T03:00:38.4359896Z         "int"
2026-06-09T03:00:38.4360008Z       ],
2026-06-09T03:00:38.4360148Z       "stages": {
2026-06-09T03:00:38.4360262Z         "doc": {
2026-06-09T03:00:38.4360458Z           "complete": false,
2026-06-09T03:00:38.4360628Z           "evidence": []
2026-06-09T03:00:38.4360746Z         },
2026-06-09T03:00:38.4360886Z         "impl": {
2026-06-09T03:00:38.4361023Z           "complete": true,
2026-06-09T03:00:38.4361191Z           "evidence": [
2026-06-09T03:00:38.4361319Z             {
2026-06-09T03:00:38.4361496Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4361638Z               "line": 14
2026-06-09T03:00:38.4361763Z             },
2026-06-09T03:00:38.4361934Z             {
2026-06-09T03:00:38.4362097Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-09T03:00:38.4362239Z               "line": 11
2026-06-09T03:00:38.4362349Z             },
2026-06-09T03:00:38.4362507Z             {
2026-06-09T03:00:38.4362698Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.4362831Z               "line": 247
2026-06-09T03:00:38.4362969Z             },
2026-06-09T03:00:38.4363076Z             {
2026-06-09T03:00:38.4363254Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4363815Z               "line": 1259
2026-06-09T03:00:38.4363995Z             },
2026-06-09T03:00:38.4364182Z             {
2026-06-09T03:00:38.4364320Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4364477Z               "line": 2812
2026-06-09T03:00:38.4364630Z             },
2026-06-09T03:00:38.4364787Z             {
2026-06-09T03:00:38.4364964Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4365083Z               "line": 2833
2026-06-09T03:00:38.4365211Z             }
2026-06-09T03:00:38.4365355Z           ]
2026-06-09T03:00:38.4365526Z         },
2026-06-09T03:00:38.4365637Z         "int": {
2026-06-09T03:00:38.4365797Z           "complete": true,
2026-06-09T03:00:38.4365945Z           "evidence": [
2026-06-09T03:00:38.4366110Z             {
2026-06-09T03:00:38.4366315Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.4366424Z               "line": 46
2026-06-09T03:00:38.4366567Z             },
2026-06-09T03:00:38.4366711Z             {
2026-06-09T03:00:38.4366902Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.4367202Z               "line": 435
2026-06-09T03:00:38.4367339Z             }
2026-06-09T03:00:38.4367483Z           ]
2026-06-09T03:00:38.4367617Z         },
2026-06-09T03:00:38.4367836Z         "unit": {
2026-06-09T03:00:38.4367969Z           "complete": true,
2026-06-09T03:00:38.4368117Z           "evidence": [
2026-06-09T03:00:38.4368213Z             {
2026-06-09T03:00:38.4368444Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4368578Z               "line": 664
2026-06-09T03:00:38.4368719Z             },
2026-06-09T03:00:38.4368858Z             {
2026-06-09T03:00:38.4369033Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4369201Z               "line": 7219
2026-06-09T03:00:38.4369329Z             }
2026-06-09T03:00:38.4369468Z           ]
2026-06-09T03:00:38.4369577Z         }
2026-06-09T03:00:38.4369749Z       }
2026-06-09T03:00:38.4369916Z     },
2026-06-09T03:00:38.4370044Z     {
2026-06-09T03:00:38.4370202Z       "id": "REQ-DAEMON-4",
2026-06-09T03:00:38.4370355Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-09T03:00:38.4370531Z       "requiredStages": [
2026-06-09T03:00:38.4370688Z         "impl",
2026-06-09T03:00:38.4383664Z         "unit",
2026-06-09T03:00:38.4383823Z         "int"
2026-06-09T03:00:38.4384012Z       ],
2026-06-09T03:00:38.4384148Z       "stages": {
2026-06-09T03:00:38.4384312Z         "doc": {
2026-06-09T03:00:38.4384436Z           "complete": false,
2026-06-09T03:00:38.4384593Z           "evidence": []
2026-06-09T03:00:38.4384767Z         },
2026-06-09T03:00:38.4384911Z         "impl": {
2026-06-09T03:00:38.4385063Z           "complete": true,
2026-06-09T03:00:38.4385183Z           "evidence": [
2026-06-09T03:00:38.4385320Z             {
2026-06-09T03:00:38.4385475Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4385693Z               "line": 371
2026-06-09T03:00:38.4385855Z             },
2026-06-09T03:00:38.4385974Z             {
2026-06-09T03:00:38.4386160Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4386265Z               "line": 436
2026-06-09T03:00:38.4386471Z             },
2026-06-09T03:00:38.4386613Z             {
2026-06-09T03:00:38.4386763Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4386913Z               "line": 458
2026-06-09T03:00:38.4387117Z             }
2026-06-09T03:00:38.4387339Z           ]
2026-06-09T03:00:38.4387459Z         },
2026-06-09T03:00:38.4387629Z         "int": {
2026-06-09T03:00:38.4387778Z           "complete": true,
2026-06-09T03:00:38.4387883Z           "evidence": [
2026-06-09T03:00:38.4388088Z             {
2026-06-09T03:00:38.4388245Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-09T03:00:38.4388389Z               "line": 34
2026-06-09T03:00:38.4388498Z             }
2026-06-09T03:00:38.4388642Z           ]
2026-06-09T03:00:38.4388986Z         },
2026-06-09T03:00:38.4389194Z         "unit": {
2026-06-09T03:00:38.4389362Z           "complete": true,
2026-06-09T03:00:38.4389484Z           "evidence": [
2026-06-09T03:00:38.4389613Z             {
2026-06-09T03:00:38.4389858Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4389978Z               "line": 428
2026-06-09T03:00:38.4390134Z             },
2026-06-09T03:00:38.4390245Z             {
2026-06-09T03:00:38.4390407Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4390554Z               "line": 784
2026-06-09T03:00:38.4390712Z             },
2026-06-09T03:00:38.4390869Z             {
2026-06-09T03:00:38.4391012Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4391150Z               "line": 854
2026-06-09T03:00:38.4391294Z             },
2026-06-09T03:00:38.4391446Z             {
2026-06-09T03:00:38.4391614Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4391775Z               "line": 884
2026-06-09T03:00:38.4391919Z             },
2026-06-09T03:00:38.4392071Z             {
2026-06-09T03:00:38.4392277Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4392398Z               "line": 917
2026-06-09T03:00:38.4392538Z             }
2026-06-09T03:00:38.4392666Z           ]
2026-06-09T03:00:38.4392814Z         }
2026-06-09T03:00:38.4392981Z       }
2026-06-09T03:00:38.4393090Z     },
2026-06-09T03:00:38.4393233Z     {
2026-06-09T03:00:38.4393352Z       "id": "REQ-DAEMON-5",
2026-06-09T03:00:38.4401906Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-09T03:00:38.4402069Z       "requiredStages": [
2026-06-09T03:00:38.4402169Z         "impl",
2026-06-09T03:00:38.4402253Z         "unit"
2026-06-09T03:00:38.4402345Z       ],
2026-06-09T03:00:38.4402436Z       "stages": {
2026-06-09T03:00:38.4402522Z         "doc": {
2026-06-09T03:00:38.4402621Z           "complete": false,
2026-06-09T03:00:38.4402713Z           "evidence": []
2026-06-09T03:00:38.4402808Z         },
2026-06-09T03:00:38.4402893Z         "impl": {
2026-06-09T03:00:38.4402987Z           "complete": true,
2026-06-09T03:00:38.4403078Z           "evidence": [
2026-06-09T03:00:38.4403159Z             {
2026-06-09T03:00:38.4403297Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4403388Z               "line": 323
2026-06-09T03:00:38.4403474Z             },
2026-06-09T03:00:38.4403560Z             {
2026-06-09T03:00:38.4403694Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4403789Z               "line": 724
2026-06-09T03:00:38.4403879Z             },
2026-06-09T03:00:38.4403974Z             {
2026-06-09T03:00:38.4404094Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4404185Z               "line": 737
2026-06-09T03:00:38.4404265Z             },
2026-06-09T03:00:38.4404347Z             {
2026-06-09T03:00:38.4404465Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4404556Z               "line": 755
2026-06-09T03:00:38.4404643Z             },
2026-06-09T03:00:38.4404724Z             {
2026-06-09T03:00:38.4404847Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4404938Z               "line": 796
2026-06-09T03:00:38.4405025Z             }
2026-06-09T03:00:38.4405114Z           ]
2026-06-09T03:00:38.4405200Z         },
2026-06-09T03:00:38.4405292Z         "int": {
2026-06-09T03:00:38.4405382Z           "complete": false,
2026-06-09T03:00:38.4405475Z           "evidence": []
2026-06-09T03:00:38.4405565Z         },
2026-06-09T03:00:38.4405652Z         "unit": {
2026-06-09T03:00:38.4406017Z           "complete": true,
2026-06-09T03:00:38.4406107Z           "evidence": [
2026-06-09T03:00:38.4406197Z             {
2026-06-09T03:00:38.4406318Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4406413Z               "line": 916
2026-06-09T03:00:38.4406498Z             },
2026-06-09T03:00:38.4406585Z             {
2026-06-09T03:00:38.4406713Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4406798Z               "line": 940
2026-06-09T03:00:38.4406890Z             },
2026-06-09T03:00:38.4407295Z             {
2026-06-09T03:00:38.4407462Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4407548Z               "line": 966
2026-06-09T03:00:38.4407638Z             }
2026-06-09T03:00:38.4407728Z           ]
2026-06-09T03:00:38.4407810Z         }
2026-06-09T03:00:38.4407897Z       }
2026-06-09T03:00:38.4407981Z     },
2026-06-09T03:00:38.4408066Z     {
2026-06-09T03:00:38.4408180Z       "id": "REQ-DAEMON-6",
2026-06-09T03:00:38.4410139Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-09T03:00:38.4410247Z       "requiredStages": [
2026-06-09T03:00:38.4410334Z         "impl",
2026-06-09T03:00:38.4410420Z         "unit"
2026-06-09T03:00:38.4410510Z       ],
2026-06-09T03:00:38.4410595Z       "stages": {
2026-06-09T03:00:38.4410685Z         "doc": {
2026-06-09T03:00:38.4410776Z           "complete": false,
2026-06-09T03:00:38.4410893Z           "evidence": []
2026-06-09T03:00:38.4410978Z         },
2026-06-09T03:00:38.4411064Z         "impl": {
2026-06-09T03:00:38.4411161Z           "complete": true,
2026-06-09T03:00:38.4411245Z           "evidence": [
2026-06-09T03:00:38.4411336Z             {
2026-06-09T03:00:38.4411456Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4411550Z               "line": 343
2026-06-09T03:00:38.4411631Z             },
2026-06-09T03:00:38.4411723Z             {
2026-06-09T03:00:38.4411847Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4411932Z               "line": 365
2026-06-09T03:00:38.4412019Z             },
2026-06-09T03:00:38.4412099Z             {
2026-06-09T03:00:38.4412223Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4412309Z               "line": 55
2026-06-09T03:00:38.4412395Z             },
2026-06-09T03:00:38.4412485Z             {
2026-06-09T03:00:38.4412605Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4412705Z               "line": 70
2026-06-09T03:00:38.4412790Z             },
2026-06-09T03:00:38.4412876Z             {
2026-06-09T03:00:38.4412983Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4413082Z               "line": 1289
2026-06-09T03:00:38.4413171Z             },
2026-06-09T03:00:38.4413254Z             {
2026-06-09T03:00:38.4413359Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4413453Z               "line": 1315
2026-06-09T03:00:38.4413542Z             }
2026-06-09T03:00:38.4413624Z           ]
2026-06-09T03:00:38.4413715Z         },
2026-06-09T03:00:38.4413805Z         "int": {
2026-06-09T03:00:38.4413895Z           "complete": false,
2026-06-09T03:00:38.4413987Z           "evidence": []
2026-06-09T03:00:38.4414073Z         },
2026-06-09T03:00:38.4414162Z         "unit": {
2026-06-09T03:00:38.4414254Z           "complete": true,
2026-06-09T03:00:38.4414345Z           "evidence": [
2026-06-09T03:00:38.4414683Z             {
2026-06-09T03:00:38.4414801Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4414898Z               "line": 273
2026-06-09T03:00:38.4414983Z             },
2026-06-09T03:00:38.4415069Z             {
2026-06-09T03:00:38.4415178Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4415274Z               "line": 284
2026-06-09T03:00:38.4415364Z             },
2026-06-09T03:00:38.4415450Z             {
2026-06-09T03:00:38.4415565Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4415655Z               "line": 309
2026-06-09T03:00:38.4415741Z             }
2026-06-09T03:00:38.4415876Z           ]
2026-06-09T03:00:38.4415961Z         }
2026-06-09T03:00:38.4416050Z       }
2026-06-09T03:00:38.4416135Z     },
2026-06-09T03:00:38.4416221Z     {
2026-06-09T03:00:38.4416315Z       "id": "REQ-DAEMON-7",
2026-06-09T03:00:38.4417760Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-09T03:00:38.4417879Z       "requiredStages": [
2026-06-09T03:00:38.4417964Z         "impl",
2026-06-09T03:00:38.4418050Z         "unit"
2026-06-09T03:00:38.4418132Z       ],
2026-06-09T03:00:38.4418221Z       "stages": {
2026-06-09T03:00:38.4418307Z         "doc": {
2026-06-09T03:00:38.4418400Z           "complete": false,
2026-06-09T03:00:38.4418490Z           "evidence": []
2026-06-09T03:00:38.4418574Z         },
2026-06-09T03:00:38.4418664Z         "impl": {
2026-06-09T03:00:38.4418750Z           "complete": true,
2026-06-09T03:00:38.4418844Z           "evidence": [
2026-06-09T03:00:38.4418938Z             {
2026-06-09T03:00:38.4419067Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4419163Z               "line": 384
2026-06-09T03:00:38.4419243Z             },
2026-06-09T03:00:38.4419329Z             {
2026-06-09T03:00:38.4419444Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4419539Z               "line": 86
2026-06-09T03:00:38.4419625Z             },
2026-06-09T03:00:38.4419707Z             {
2026-06-09T03:00:38.4419816Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4419901Z               "line": 1260
2026-06-09T03:00:38.4419988Z             }
2026-06-09T03:00:38.4420069Z           ]
2026-06-09T03:00:38.4420160Z         },
2026-06-09T03:00:38.4420250Z         "int": {
2026-06-09T03:00:38.4420341Z           "complete": false,
2026-06-09T03:00:38.4420435Z           "evidence": []
2026-06-09T03:00:38.4420516Z         },
2026-06-09T03:00:38.4420602Z         "unit": {
2026-06-09T03:00:38.4420695Z           "complete": true,
2026-06-09T03:00:38.4420807Z           "evidence": [
2026-06-09T03:00:38.4420894Z             {
2026-06-09T03:00:38.4421010Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4421098Z               "line": 299
2026-06-09T03:00:38.4421179Z             },
2026-06-09T03:00:38.4421274Z             {
2026-06-09T03:00:38.4421373Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4421462Z               "line": 5175
2026-06-09T03:00:38.4421552Z             }
2026-06-09T03:00:38.4421639Z           ]
2026-06-09T03:00:38.4421725Z         }
2026-06-09T03:00:38.4421815Z       }
2026-06-09T03:00:38.4421901Z     },
2026-06-09T03:00:38.4421983Z     {
2026-06-09T03:00:38.4422082Z       "id": "REQ-DAEMON-8",
2026-06-09T03:00:38.4423007Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-09T03:00:38.4423294Z       "requiredStages": [
2026-06-09T03:00:38.4423384Z         "impl",
2026-06-09T03:00:38.4423469Z         "unit"
2026-06-09T03:00:38.4423557Z       ],
2026-06-09T03:00:38.4423650Z       "stages": {
2026-06-09T03:00:38.4423731Z         "doc": {
2026-06-09T03:00:38.4423833Z           "complete": false,
2026-06-09T03:00:38.4423928Z           "evidence": []
2026-06-09T03:00:38.4424017Z         },
2026-06-09T03:00:38.4424102Z         "impl": {
2026-06-09T03:00:38.4424194Z           "complete": true,
2026-06-09T03:00:38.4424284Z           "evidence": [
2026-06-09T03:00:38.4424370Z             {
2026-06-09T03:00:38.4424489Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4424576Z               "line": 302
2026-06-09T03:00:38.4424661Z             },
2026-06-09T03:00:38.4424746Z             {
2026-06-09T03:00:38.4424861Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4424966Z               "line": 56
2026-06-09T03:00:38.4425051Z             }
2026-06-09T03:00:38.4425134Z           ]
2026-06-09T03:00:38.4425219Z         },
2026-06-09T03:00:38.4425305Z         "int": {
2026-06-09T03:00:38.4425390Z           "complete": false,
2026-06-09T03:00:38.4425482Z           "evidence": []
2026-06-09T03:00:38.4425567Z         },
2026-06-09T03:00:38.4425653Z         "unit": {
2026-06-09T03:00:38.4425748Z           "complete": true,
2026-06-09T03:00:38.4425834Z           "evidence": [
2026-06-09T03:00:38.4425924Z             {
2026-06-09T03:00:38.4426034Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-09T03:00:38.4426130Z               "line": 273
2026-06-09T03:00:38.4426215Z             }
2026-06-09T03:00:38.4426296Z           ]
2026-06-09T03:00:38.4426388Z         }
2026-06-09T03:00:38.4426469Z       }
2026-06-09T03:00:38.4426553Z     },
2026-06-09T03:00:38.4426638Z     {
2026-06-09T03:00:38.4426739Z       "id": "REQ-DOCS-1",
2026-06-09T03:00:38.4426936Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-09T03:00:38.4427128Z       "requiredStages": [
2026-06-09T03:00:38.4427214Z         "doc",
2026-06-09T03:00:38.4427308Z         "impl"
2026-06-09T03:00:38.4427400Z       ],
2026-06-09T03:00:38.4427485Z       "stages": {
2026-06-09T03:00:38.4427575Z         "doc": {
2026-06-09T03:00:38.4427666Z           "complete": true,
2026-06-09T03:00:38.4427753Z           "evidence": [
2026-06-09T03:00:38.4427838Z             {
2026-06-09T03:00:38.4427947Z               "path": "docs-site/src/index.md",
2026-06-09T03:00:38.4428039Z               "line": 50
2026-06-09T03:00:38.4428124Z             }
2026-06-09T03:00:38.4428228Z           ]
2026-06-09T03:00:38.4428315Z         },
2026-06-09T03:00:38.4428401Z         "impl": {
2026-06-09T03:00:38.4428491Z           "complete": true,
2026-06-09T03:00:38.4428582Z           "evidence": [
2026-06-09T03:00:38.4428673Z             {
2026-06-09T03:00:38.4428796Z               "path": ".github/workflows/docs-publish.yml",
2026-06-09T03:00:38.4428911Z               "line": 12
2026-06-09T03:00:38.4429003Z             },
2026-06-09T03:00:38.4429092Z             {
2026-06-09T03:00:38.4429205Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.4429291Z               "line": 14
2026-06-09T03:00:38.4429382Z             }
2026-06-09T03:00:38.4429460Z           ]
2026-06-09T03:00:38.4429551Z         },
2026-06-09T03:00:38.4429647Z         "int": {
2026-06-09T03:00:38.4429738Z           "complete": false,
2026-06-09T03:00:38.4429827Z           "evidence": []
2026-06-09T03:00:38.4429914Z         },
2026-06-09T03:00:38.4430005Z         "unit": {
2026-06-09T03:00:38.4430100Z           "complete": false,
2026-06-09T03:00:38.4430185Z           "evidence": []
2026-06-09T03:00:38.4430272Z         }
2026-06-09T03:00:38.4430352Z       }
2026-06-09T03:00:38.4430438Z     },
2026-06-09T03:00:38.4430523Z     {
2026-06-09T03:00:38.4430611Z       "id": "REQ-DOCS-2",
2026-06-09T03:00:38.4430868Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-09T03:00:38.4431053Z       "requiredStages": [
2026-06-09T03:00:38.4431139Z         "doc",
2026-06-09T03:00:38.4431221Z         "int"
2026-06-09T03:00:38.4431306Z       ],
2026-06-09T03:00:38.4431392Z       "stages": {
2026-06-09T03:00:38.4431473Z         "doc": {
2026-06-09T03:00:38.4431560Z           "complete": true,
2026-06-09T03:00:38.4431654Z           "evidence": [
2026-06-09T03:00:38.4431739Z             {
2026-06-09T03:00:38.4431867Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-09T03:00:38.4431957Z               "line": 3
2026-06-09T03:00:38.4432037Z             },
2026-06-09T03:00:38.4432122Z             {
2026-06-09T03:00:38.4432247Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-09T03:00:38.4432337Z               "line": 3
2026-06-09T03:00:38.4432422Z             }
2026-06-09T03:00:38.4432514Z           ]
2026-06-09T03:00:38.4432600Z         },
2026-06-09T03:00:38.4432690Z         "impl": {
2026-06-09T03:00:38.4432786Z           "complete": false,
2026-06-09T03:00:38.4432872Z           "evidence": []
2026-06-09T03:00:38.4432957Z         },
2026-06-09T03:00:38.4433052Z         "int": {
2026-06-09T03:00:38.4433139Z           "complete": true,
2026-06-09T03:00:38.4433233Z           "evidence": [
2026-06-09T03:00:38.4433319Z             {
2026-06-09T03:00:38.4433444Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-09T03:00:38.4433525Z               "line": 14
2026-06-09T03:00:38.4433610Z             }
2026-06-09T03:00:38.4433701Z           ]
2026-06-09T03:00:38.4433778Z         },
2026-06-09T03:00:38.4433868Z         "unit": {
2026-06-09T03:00:38.4433953Z           "complete": false,
2026-06-09T03:00:38.4434044Z           "evidence": []
2026-06-09T03:00:38.4434122Z         }
2026-06-09T03:00:38.4434210Z       }
2026-06-09T03:00:38.4434291Z     },
2026-06-09T03:00:38.4434374Z     {
2026-06-09T03:00:38.4434474Z       "id": "REQ-DOCS-3",
2026-06-09T03:00:38.4434691Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-09T03:00:38.4434793Z       "requiredStages": [
2026-06-09T03:00:38.4434873Z         "doc"
2026-06-09T03:00:38.4434958Z       ],
2026-06-09T03:00:38.4435044Z       "stages": {
2026-06-09T03:00:38.4435131Z         "doc": {
2026-06-09T03:00:38.4435225Z           "complete": true,
2026-06-09T03:00:38.4435311Z           "evidence": [
2026-06-09T03:00:38.4435403Z             {
2026-06-09T03:00:38.4435508Z               "path": "docs-site/src/index.md",
2026-06-09T03:00:38.4435597Z               "line": 42
2026-06-09T03:00:38.4435679Z             }
2026-06-09T03:00:38.4435770Z           ]
2026-06-09T03:00:38.4435851Z         },
2026-06-09T03:00:38.4435936Z         "impl": {
2026-06-09T03:00:38.4436028Z           "complete": false,
2026-06-09T03:00:38.4436113Z           "evidence": []
2026-06-09T03:00:38.4436198Z         },
2026-06-09T03:00:38.4436279Z         "int": {
2026-06-09T03:00:38.4436376Z           "complete": false,
2026-06-09T03:00:38.4436480Z           "evidence": []
2026-06-09T03:00:38.4436561Z         },
2026-06-09T03:00:38.4436648Z         "unit": {
2026-06-09T03:00:38.4436738Z           "complete": false,
2026-06-09T03:00:38.4436823Z           "evidence": []
2026-06-09T03:00:38.4436899Z         }
2026-06-09T03:00:38.4437081Z       }
2026-06-09T03:00:38.4437175Z     },
2026-06-09T03:00:38.4437265Z     {
2026-06-09T03:00:38.4437370Z       "id": "REQ-DOCS-4",
2026-06-09T03:00:38.4437558Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-09T03:00:38.4437650Z       "requiredStages": [
2026-06-09T03:00:38.4437736Z         "doc",
2026-06-09T03:00:38.4437830Z         "impl",
2026-06-09T03:00:38.4437926Z         "unit"
2026-06-09T03:00:38.4438012Z       ],
2026-06-09T03:00:38.4438098Z       "stages": {
2026-06-09T03:00:38.4438183Z         "doc": {
2026-06-09T03:00:38.4438279Z           "complete": true,
2026-06-09T03:00:38.4438370Z           "evidence": [
2026-06-09T03:00:38.4438576Z             {
2026-06-09T03:00:38.4438779Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-09T03:00:38.4438865Z               "line": 35
2026-06-09T03:00:38.4438952Z             }
2026-06-09T03:00:38.4439032Z           ]
2026-06-09T03:00:38.4439118Z         },
2026-06-09T03:00:38.4439205Z         "impl": {
2026-06-09T03:00:38.4439304Z           "complete": true,
2026-06-09T03:00:38.4439395Z           "evidence": [
2026-06-09T03:00:38.4439476Z             {
2026-06-09T03:00:38.4439601Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4439690Z               "line": 522
2026-06-09T03:00:38.4439775Z             },
2026-06-09T03:00:38.4439856Z             {
2026-06-09T03:00:38.4439965Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.4440053Z               "line": 15
2026-06-09T03:00:38.4440134Z             }
2026-06-09T03:00:38.4440222Z           ]
2026-06-09T03:00:38.4440307Z         },
2026-06-09T03:00:38.4440402Z         "int": {
2026-06-09T03:00:38.4440502Z           "complete": false,
2026-06-09T03:00:38.4440602Z           "evidence": []
2026-06-09T03:00:38.4440692Z         },
2026-06-09T03:00:38.4440774Z         "unit": {
2026-06-09T03:00:38.4440875Z           "complete": true,
2026-06-09T03:00:38.4440961Z           "evidence": [
2026-06-09T03:00:38.4441045Z             {
2026-06-09T03:00:38.4441161Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4441255Z               "line": 978
2026-06-09T03:00:38.4441341Z             }
2026-06-09T03:00:38.4441428Z           ]
2026-06-09T03:00:38.4441514Z         }
2026-06-09T03:00:38.4441598Z       }
2026-06-09T03:00:38.4441684Z     },
2026-06-09T03:00:38.4441767Z     {
2026-06-09T03:00:38.4441862Z       "id": "REQ-DOCS-5",
2026-06-09T03:00:38.4442047Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-09T03:00:38.4442139Z       "requiredStages": [
2026-06-09T03:00:38.4442228Z         "impl",
2026-06-09T03:00:38.4442313Z         "int"
2026-06-09T03:00:38.4442404Z       ],
2026-06-09T03:00:38.4442503Z       "stages": {
2026-06-09T03:00:38.4442587Z         "doc": {
2026-06-09T03:00:38.4442687Z           "complete": false,
2026-06-09T03:00:38.4442774Z           "evidence": []
2026-06-09T03:00:38.4442865Z         },
2026-06-09T03:00:38.4442949Z         "impl": {
2026-06-09T03:00:38.4443045Z           "complete": true,
2026-06-09T03:00:38.4443131Z           "evidence": [
2026-06-09T03:00:38.4443221Z             {
2026-06-09T03:00:38.4443346Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4443432Z               "line": 523
2026-06-09T03:00:38.4443527Z             },
2026-06-09T03:00:38.4443612Z             {
2026-06-09T03:00:38.4443723Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.4443808Z               "line": 113
2026-06-09T03:00:38.4443898Z             }
2026-06-09T03:00:38.4443985Z           ]
2026-06-09T03:00:38.4444067Z         },
2026-06-09T03:00:38.4444160Z         "int": {
2026-06-09T03:00:38.4444261Z           "complete": true,
2026-06-09T03:00:38.4444362Z           "evidence": [
2026-06-09T03:00:38.4444447Z             {
2026-06-09T03:00:38.4444556Z               "path": ".github/workflows/ci.yml",
2026-06-09T03:00:38.4444648Z               "line": 86
2026-06-09T03:00:38.4444734Z             },
2026-06-09T03:00:38.4444823Z             {
2026-06-09T03:00:38.4444939Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4445030Z               "line": 1015
2026-06-09T03:00:38.4445113Z             }
2026-06-09T03:00:38.4445199Z           ]
2026-06-09T03:00:38.4445285Z         },
2026-06-09T03:00:38.4445367Z         "unit": {
2026-06-09T03:00:38.4445466Z           "complete": false,
2026-06-09T03:00:38.4445551Z           "evidence": []
2026-06-09T03:00:38.4445639Z         }
2026-06-09T03:00:38.4445720Z       }
2026-06-09T03:00:38.4445805Z     },
2026-06-09T03:00:38.4445900Z     {
2026-06-09T03:00:38.4445991Z       "id": "REQ-DOCS-6",
2026-06-09T03:00:38.4446425Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-09T03:00:38.4446593Z       "requiredStages": [
2026-06-09T03:00:38.4446682Z         "impl",
2026-06-09T03:00:38.4446768Z         "unit",
2026-06-09T03:00:38.4446854Z         "int"
2026-06-09T03:00:38.4446941Z       ],
2026-06-09T03:00:38.4447126Z       "stages": {
2026-06-09T03:00:38.4447256Z         "doc": {
2026-06-09T03:00:38.4447387Z           "complete": true,
2026-06-09T03:00:38.4447489Z           "evidence": [
2026-06-09T03:00:38.4447575Z             {
2026-06-09T03:00:38.4447707Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-09T03:00:38.4447797Z               "line": 4
2026-06-09T03:00:38.4447874Z             }
2026-06-09T03:00:38.4447958Z           ]
2026-06-09T03:00:38.4448043Z         },
2026-06-09T03:00:38.4448128Z         "impl": {
2026-06-09T03:00:38.4448220Z           "complete": true,
2026-06-09T03:00:38.4448315Z           "evidence": [
2026-06-09T03:00:38.4448418Z             {
2026-06-09T03:00:38.4448520Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4448610Z               "line": 3689
2026-06-09T03:00:38.4448695Z             }
2026-06-09T03:00:38.4448786Z           ]
2026-06-09T03:00:38.4448868Z         },
2026-06-09T03:00:38.4448958Z         "int": {
2026-06-09T03:00:38.4449053Z           "complete": true,
2026-06-09T03:00:38.4449141Z           "evidence": [
2026-06-09T03:00:38.4449235Z             {
2026-06-09T03:00:38.4449354Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-09T03:00:38.4449450Z               "line": 34
2026-06-09T03:00:38.4449531Z             }
2026-06-09T03:00:38.4449616Z           ]
2026-06-09T03:00:38.4449707Z         },
2026-06-09T03:00:38.4449789Z         "unit": {
2026-06-09T03:00:38.4449892Z           "complete": true,
2026-06-09T03:00:38.4449974Z           "evidence": [
2026-06-09T03:00:38.4450060Z             {
2026-06-09T03:00:38.4450165Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4450269Z               "line": 7246
2026-06-09T03:00:38.4450354Z             }
2026-06-09T03:00:38.4450440Z           ]
2026-06-09T03:00:38.4450525Z         }
2026-06-09T03:00:38.4450609Z       }
2026-06-09T03:00:38.4450699Z     },
2026-06-09T03:00:38.4450782Z     {
2026-06-09T03:00:38.4450881Z       "id": "REQ-EP-1",
2026-06-09T03:00:38.4451014Z       "title": "Day-one endpoint types; open type system",
2026-06-09T03:00:38.4451106Z       "requiredStages": [
2026-06-09T03:00:38.4451196Z         "impl",
2026-06-09T03:00:38.4451276Z         "unit"
2026-06-09T03:00:38.4451363Z       ],
2026-06-09T03:00:38.4451449Z       "stages": {
2026-06-09T03:00:38.4451544Z         "doc": {
2026-06-09T03:00:38.4451639Z           "complete": false,
2026-06-09T03:00:38.4451731Z           "evidence": []
2026-06-09T03:00:38.4451816Z         },
2026-06-09T03:00:38.4451901Z         "impl": {
2026-06-09T03:00:38.4451993Z           "complete": true,
2026-06-09T03:00:38.4452084Z           "evidence": [
2026-06-09T03:00:38.4452183Z             {
2026-06-09T03:00:38.4452307Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4452394Z               "line": 77
2026-06-09T03:00:38.4452487Z             },
2026-06-09T03:00:38.4452564Z             {
2026-06-09T03:00:38.4452685Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4452770Z               "line": 94
2026-06-09T03:00:38.4452859Z             }
2026-06-09T03:00:38.4452944Z           ]
2026-06-09T03:00:38.4453026Z         },
2026-06-09T03:00:38.4453115Z         "int": {
2026-06-09T03:00:38.4453204Z           "complete": false,
2026-06-09T03:00:38.4453295Z           "evidence": []
2026-06-09T03:00:38.4453377Z         },
2026-06-09T03:00:38.4453471Z         "unit": {
2026-06-09T03:00:38.4453566Z           "complete": true,
2026-06-09T03:00:38.4453659Z           "evidence": [
2026-06-09T03:00:38.4453745Z             {
2026-06-09T03:00:38.4453858Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4454139Z               "line": 161
2026-06-09T03:00:38.4454220Z             },
2026-06-09T03:00:38.4454316Z             {
2026-06-09T03:00:38.4454435Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4454525Z               "line": 178
2026-06-09T03:00:38.4454613Z             }
2026-06-09T03:00:38.4454697Z           ]
2026-06-09T03:00:38.4454787Z         }
2026-06-09T03:00:38.4454875Z       }
2026-06-09T03:00:38.4454960Z     },
2026-06-09T03:00:38.4455049Z     {
2026-06-09T03:00:38.4455136Z       "id": "REQ-EP-2",
2026-06-09T03:00:38.4455299Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-09T03:00:38.4455388Z       "requiredStages": [
2026-06-09T03:00:38.4455475Z         "impl",
2026-06-09T03:00:38.4455562Z         "unit"
2026-06-09T03:00:38.4455646Z       ],
2026-06-09T03:00:38.4455735Z       "stages": {
2026-06-09T03:00:38.4455826Z         "doc": {
2026-06-09T03:00:38.4455922Z           "complete": false,
2026-06-09T03:00:38.4456017Z           "evidence": []
2026-06-09T03:00:38.4456111Z         },
2026-06-09T03:00:38.4456194Z         "impl": {
2026-06-09T03:00:38.4456290Z           "complete": true,
2026-06-09T03:00:38.4456379Z           "evidence": [
2026-06-09T03:00:38.4456460Z             {
2026-06-09T03:00:38.4456580Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4456670Z               "line": 114
2026-06-09T03:00:38.4456760Z             },
2026-06-09T03:00:38.4456843Z             {
2026-06-09T03:00:38.4457047Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4457153Z               "line": 131
2026-06-09T03:00:38.4457252Z             },
2026-06-09T03:00:38.4457338Z             {
2026-06-09T03:00:38.4457453Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4457538Z               "line": 138
2026-06-09T03:00:38.4457619Z             }
2026-06-09T03:00:38.4457705Z           ]
2026-06-09T03:00:38.4457792Z         },
2026-06-09T03:00:38.4457886Z         "int": {
2026-06-09T03:00:38.4457996Z           "complete": false,
2026-06-09T03:00:38.4458083Z           "evidence": []
2026-06-09T03:00:38.4458168Z         },
2026-06-09T03:00:38.4458252Z         "unit": {
2026-06-09T03:00:38.4458347Z           "complete": true,
2026-06-09T03:00:38.4458438Z           "evidence": [
2026-06-09T03:00:38.4458523Z             {
2026-06-09T03:00:38.4458636Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4458727Z               "line": 190
2026-06-09T03:00:38.4458809Z             },
2026-06-09T03:00:38.4458894Z             {
2026-06-09T03:00:38.4459013Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4459108Z               "line": 208
2026-06-09T03:00:38.4459190Z             },
2026-06-09T03:00:38.4459275Z             {
2026-06-09T03:00:38.4459391Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-09T03:00:38.4459480Z               "line": 221
2026-06-09T03:00:38.4459570Z             }
2026-06-09T03:00:38.4459657Z           ]
2026-06-09T03:00:38.4459752Z         }
2026-06-09T03:00:38.4459833Z       }
2026-06-09T03:00:38.4459923Z     },
2026-06-09T03:00:38.4460005Z     {
2026-06-09T03:00:38.4460100Z       "id": "REQ-EP-3",
2026-06-09T03:00:38.4460271Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-09T03:00:38.4460373Z       "requiredStages": [
2026-06-09T03:00:38.4460457Z         "impl",
2026-06-09T03:00:38.4460539Z         "unit"
2026-06-09T03:00:38.4460616Z       ],
2026-06-09T03:00:38.4460702Z       "stages": {
2026-06-09T03:00:38.4460791Z         "doc": {
2026-06-09T03:00:38.4460880Z           "complete": false,
2026-06-09T03:00:38.4460981Z           "evidence": []
2026-06-09T03:00:38.4461071Z         },
2026-06-09T03:00:38.4461151Z         "impl": {
2026-06-09T03:00:38.4461250Z           "complete": true,
2026-06-09T03:00:38.4461337Z           "evidence": [
2026-06-09T03:00:38.4461432Z             {
2026-06-09T03:00:38.4461545Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4461855Z               "line": 31
2026-06-09T03:00:38.4461943Z             },
2026-06-09T03:00:38.4462024Z             {
2026-06-09T03:00:38.4462147Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4462228Z               "line": 49
2026-06-09T03:00:38.4462324Z             }
2026-06-09T03:00:38.4462405Z           ]
2026-06-09T03:00:38.4462499Z         },
2026-06-09T03:00:38.4462587Z         "int": {
2026-06-09T03:00:38.4462681Z           "complete": false,
2026-06-09T03:00:38.4462777Z           "evidence": []
2026-06-09T03:00:38.4462858Z         },
2026-06-09T03:00:38.4462944Z         "unit": {
2026-06-09T03:00:38.4463034Z           "complete": true,
2026-06-09T03:00:38.4463134Z           "evidence": [
2026-06-09T03:00:38.4463226Z             {
2026-06-09T03:00:38.4463339Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4463429Z               "line": 156
2026-06-09T03:00:38.4463514Z             },
2026-06-09T03:00:38.4463614Z             {
2026-06-09T03:00:38.4463726Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4463821Z               "line": 164
2026-06-09T03:00:38.4463909Z             },
2026-06-09T03:00:38.4463990Z             {
2026-06-09T03:00:38.4464103Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4464189Z               "line": 177
2026-06-09T03:00:38.4464275Z             },
2026-06-09T03:00:38.4464361Z             {
2026-06-09T03:00:38.4464480Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4464571Z               "line": 200
2026-06-09T03:00:38.4464657Z             },
2026-06-09T03:00:38.4464752Z             {
2026-06-09T03:00:38.4464858Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4464952Z               "line": 216
2026-06-09T03:00:38.4465042Z             },
2026-06-09T03:00:38.4465125Z             {
2026-06-09T03:00:38.4465243Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-09T03:00:38.4465347Z               "line": 233
2026-06-09T03:00:38.4465435Z             }
2026-06-09T03:00:38.4465516Z           ]
2026-06-09T03:00:38.4465605Z         }
2026-06-09T03:00:38.4465691Z       }
2026-06-09T03:00:38.4465773Z     },
2026-06-09T03:00:38.4465864Z     {
2026-06-09T03:00:38.4465952Z       "id": "REQ-EP-4",
2026-06-09T03:00:38.4466098Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-09T03:00:38.4466193Z       "requiredStages": [
2026-06-09T03:00:38.4466281Z         "impl",
2026-06-09T03:00:38.4466371Z         "unit"
2026-06-09T03:00:38.4466454Z       ],
2026-06-09T03:00:38.4466545Z       "stages": {
2026-06-09T03:00:38.4466629Z         "doc": {
2026-06-09T03:00:38.4466725Z           "complete": false,
2026-06-09T03:00:38.4466811Z           "evidence": []
2026-06-09T03:00:38.4466901Z         },
2026-06-09T03:00:38.4467069Z         "impl": {
2026-06-09T03:00:38.4467154Z           "complete": true,
2026-06-09T03:00:38.4467254Z           "evidence": [
2026-06-09T03:00:38.4467374Z             {
2026-06-09T03:00:38.4467497Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4467583Z               "line": 461
2026-06-09T03:00:38.4467674Z             },
2026-06-09T03:00:38.4467760Z             {
2026-06-09T03:00:38.4467869Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4467964Z               "line": 706
2026-06-09T03:00:38.4468047Z             },
2026-06-09T03:00:38.4468140Z             {
2026-06-09T03:00:38.4468251Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4468347Z               "line": 805
2026-06-09T03:00:38.4468432Z             },
2026-06-09T03:00:38.4468527Z             {
2026-06-09T03:00:38.4468662Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4468742Z               "line": 83
2026-06-09T03:00:38.4468827Z             },
2026-06-09T03:00:38.4468912Z             {
2026-06-09T03:00:38.4469013Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4469296Z               "line": 460
2026-06-09T03:00:38.4469383Z             },
2026-06-09T03:00:38.4473565Z             {
2026-06-09T03:00:38.4473718Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4473814Z               "line": 546
2026-06-09T03:00:38.4473899Z             },
2026-06-09T03:00:38.4473984Z             {
2026-06-09T03:00:38.4474117Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4474202Z               "line": 196
2026-06-09T03:00:38.4474291Z             },
2026-06-09T03:00:38.4474372Z             {
2026-06-09T03:00:38.4474493Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4474587Z               "line": 337
2026-06-09T03:00:38.4474673Z             },
2026-06-09T03:00:38.4474754Z             {
2026-06-09T03:00:38.4474865Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4474953Z               "line": 847
2026-06-09T03:00:38.4475040Z             }
2026-06-09T03:00:38.4475155Z           ]
2026-06-09T03:00:38.4475236Z         },
2026-06-09T03:00:38.4475321Z         "int": {
2026-06-09T03:00:38.4475422Z           "complete": false,
2026-06-09T03:00:38.4475507Z           "evidence": []
2026-06-09T03:00:38.4475593Z         },
2026-06-09T03:00:38.4475675Z         "unit": {
2026-06-09T03:00:38.4475771Z           "complete": true,
2026-06-09T03:00:38.4475855Z           "evidence": [
2026-06-09T03:00:38.4475941Z             {
2026-06-09T03:00:38.4476057Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-09T03:00:38.4476151Z               "line": 637
2026-06-09T03:00:38.4476236Z             },
2026-06-09T03:00:38.4476314Z             {
2026-06-09T03:00:38.4476447Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-09T03:00:38.4476532Z               "line": 76
2026-06-09T03:00:38.4476614Z             },
2026-06-09T03:00:38.4476701Z             {
2026-06-09T03:00:38.4476827Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-09T03:00:38.4476931Z               "line": 147
2026-06-09T03:00:38.4477119Z             }
2026-06-09T03:00:38.4477199Z           ]
2026-06-09T03:00:38.4477285Z         }
2026-06-09T03:00:38.4477371Z       }
2026-06-09T03:00:38.4477457Z     },
2026-06-09T03:00:38.4477537Z     {
2026-06-09T03:00:38.4477629Z       "id": "REQ-EP-5",
2026-06-09T03:00:38.4478254Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-09T03:00:38.4478349Z       "requiredStages": [
2026-06-09T03:00:38.4478434Z         "impl",
2026-06-09T03:00:38.4478520Z         "unit",
2026-06-09T03:00:38.4478602Z         "int"
2026-06-09T03:00:38.4478682Z       ],
2026-06-09T03:00:38.4478768Z       "stages": {
2026-06-09T03:00:38.4478849Z         "doc": {
2026-06-09T03:00:38.4478946Z           "complete": false,
2026-06-09T03:00:38.4479039Z           "evidence": []
2026-06-09T03:00:38.4479130Z         },
2026-06-09T03:00:38.4479222Z         "impl": {
2026-06-09T03:00:38.4479307Z           "complete": true,
2026-06-09T03:00:38.4479396Z           "evidence": [
2026-06-09T03:00:38.4479481Z             {
2026-06-09T03:00:38.4479611Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4479699Z               "line": 351
2026-06-09T03:00:38.4479770Z             },
2026-06-09T03:00:38.4479852Z             {
2026-06-09T03:00:38.4479972Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4480061Z               "line": 18
2026-06-09T03:00:38.4480143Z             },
2026-06-09T03:00:38.4480229Z             {
2026-06-09T03:00:38.4480347Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4480433Z               "line": 63
2026-06-09T03:00:38.4480520Z             },
2026-06-09T03:00:38.4480600Z             {
2026-06-09T03:00:38.4480714Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4481039Z               "line": 92
2026-06-09T03:00:38.4481125Z             },
2026-06-09T03:00:38.4481211Z             {
2026-06-09T03:00:38.4481320Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4481411Z               "line": 167
2026-06-09T03:00:38.4481493Z             },
2026-06-09T03:00:38.4481572Z             {
2026-06-09T03:00:38.4481688Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4481774Z               "line": 179
2026-06-09T03:00:38.4481855Z             },
2026-06-09T03:00:38.4481939Z             {
2026-06-09T03:00:38.4482058Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4482149Z               "line": 114
2026-06-09T03:00:38.4482237Z             },
2026-06-09T03:00:38.4482323Z             {
2026-06-09T03:00:38.4482443Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4482533Z               "line": 22
2026-06-09T03:00:38.4482623Z             },
2026-06-09T03:00:38.4482719Z             {
2026-06-09T03:00:38.4482829Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4482914Z               "line": 129
2026-06-09T03:00:38.4482995Z             },
2026-06-09T03:00:38.4483082Z             {
2026-06-09T03:00:38.4483201Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4483286Z               "line": 156
2026-06-09T03:00:38.4483368Z             },
2026-06-09T03:00:38.4483453Z             {
2026-06-09T03:00:38.4483568Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4483654Z               "line": 178
2026-06-09T03:00:38.4483735Z             },
2026-06-09T03:00:38.4483820Z             {
2026-06-09T03:00:38.4483925Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4484017Z               "line": 203
2026-06-09T03:00:38.4484093Z             },
2026-06-09T03:00:38.4484178Z             {
2026-06-09T03:00:38.4484298Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4484393Z               "line": 229
2026-06-09T03:00:38.4484473Z             },
2026-06-09T03:00:38.4484553Z             {
2026-06-09T03:00:38.4484673Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4484753Z               "line": 252
2026-06-09T03:00:38.4484842Z             },
2026-06-09T03:00:38.4484928Z             {
2026-06-09T03:00:38.4485039Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4485133Z               "line": 81
2026-06-09T03:00:38.4485213Z             },
2026-06-09T03:00:38.4485300Z             {
2026-06-09T03:00:38.4485405Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4485495Z               "line": 3994
2026-06-09T03:00:38.4485581Z             },
2026-06-09T03:00:38.4485658Z             {
2026-06-09T03:00:38.4485768Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4485852Z               "line": 4117
2026-06-09T03:00:38.4485940Z             },
2026-06-09T03:00:38.4486025Z             {
2026-06-09T03:00:38.4486129Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4486211Z               "line": 4278
2026-06-09T03:00:38.4486297Z             },
2026-06-09T03:00:38.4486382Z             {
2026-06-09T03:00:38.4486477Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4486565Z               "line": 4660
2026-06-09T03:00:38.4486645Z             }
2026-06-09T03:00:38.4486730Z           ]
2026-06-09T03:00:38.4486811Z         },
2026-06-09T03:00:38.4486894Z         "int": {
2026-06-09T03:00:38.4487063Z           "complete": true,
2026-06-09T03:00:38.4487155Z           "evidence": [
2026-06-09T03:00:38.4487242Z             {
2026-06-09T03:00:38.4487378Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-09T03:00:38.4487468Z               "line": 16
2026-06-09T03:00:38.4487545Z             },
2026-06-09T03:00:38.4487631Z             {
2026-06-09T03:00:38.4487740Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-09T03:00:38.4488017Z               "line": 15
2026-06-09T03:00:38.4488102Z             }
2026-06-09T03:00:38.4488184Z           ]
2026-06-09T03:00:38.4488265Z         },
2026-06-09T03:00:38.4488351Z         "unit": {
2026-06-09T03:00:38.4488441Z           "complete": true,
2026-06-09T03:00:38.4488528Z           "evidence": [
2026-06-09T03:00:38.4488608Z             {
2026-06-09T03:00:38.4488731Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4488819Z               "line": 246
2026-06-09T03:00:38.4488900Z             },
2026-06-09T03:00:38.4488985Z             {
2026-06-09T03:00:38.4489099Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4489186Z               "line": 306
2026-06-09T03:00:38.4489270Z             },
2026-06-09T03:00:38.4489361Z             {
2026-06-09T03:00:38.4489472Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-09T03:00:38.4489567Z               "line": 362
2026-06-09T03:00:38.4489657Z             },
2026-06-09T03:00:38.4489744Z             {
2026-06-09T03:00:38.4489868Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4489952Z               "line": 268
2026-06-09T03:00:38.4490032Z             },
2026-06-09T03:00:38.4490114Z             {
2026-06-09T03:00:38.4490227Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.4490311Z               "line": 291
2026-06-09T03:00:38.4490383Z             },
2026-06-09T03:00:38.4490465Z             {
2026-06-09T03:00:38.4490574Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4490654Z               "line": 491
2026-06-09T03:00:38.4490741Z             },
2026-06-09T03:00:38.4490817Z             {
2026-06-09T03:00:38.4490931Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4491022Z               "line": 5450
2026-06-09T03:00:38.4491104Z             },
2026-06-09T03:00:38.4491184Z             {
2026-06-09T03:00:38.4491289Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4491385Z               "line": 5574
2026-06-09T03:00:38.4491461Z             },
2026-06-09T03:00:38.4491547Z             {
2026-06-09T03:00:38.4491642Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4491729Z               "line": 6161
2026-06-09T03:00:38.4491809Z             },
2026-06-09T03:00:38.4491894Z             {
2026-06-09T03:00:38.4491996Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4492077Z               "line": 6226
2026-06-09T03:00:38.4492161Z             }
2026-06-09T03:00:38.4492243Z           ]
2026-06-09T03:00:38.4492325Z         }
2026-06-09T03:00:38.4492406Z       }
2026-06-09T03:00:38.4492485Z     },
2026-06-09T03:00:38.4492570Z     {
2026-06-09T03:00:38.4492661Z       "id": "REQ-FRONT-1",
2026-06-09T03:00:38.4492831Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-09T03:00:38.4492930Z       "requiredStages": [],
2026-06-09T03:00:38.4493017Z       "stages": {
2026-06-09T03:00:38.4493112Z         "doc": {
2026-06-09T03:00:38.4493207Z           "complete": false,
2026-06-09T03:00:38.4493293Z           "evidence": []
2026-06-09T03:00:38.4493370Z         },
2026-06-09T03:00:38.4493460Z         "impl": {
2026-06-09T03:00:38.4493550Z           "complete": false,
2026-06-09T03:00:38.4493638Z           "evidence": []
2026-06-09T03:00:38.4493718Z         },
2026-06-09T03:00:38.4493798Z         "int": {
2026-06-09T03:00:38.4493889Z           "complete": false,
2026-06-09T03:00:38.4493971Z           "evidence": []
2026-06-09T03:00:38.4494056Z         },
2026-06-09T03:00:38.4494137Z         "unit": {
2026-06-09T03:00:38.4494229Z           "complete": false,
2026-06-09T03:00:38.4494310Z           "evidence": []
2026-06-09T03:00:38.4494394Z         }
2026-06-09T03:00:38.4494476Z       }
2026-06-09T03:00:38.4494557Z     },
2026-06-09T03:00:38.4494639Z     {
2026-06-09T03:00:38.4494747Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-09T03:00:38.4494921Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-09T03:00:38.4495147Z       "requiredStages": [
2026-06-09T03:00:38.4495238Z         "impl",
2026-06-09T03:00:38.4495322Z         "unit"
2026-06-09T03:00:38.4495403Z       ],
2026-06-09T03:00:38.4495488Z       "stages": {
2026-06-09T03:00:38.4495569Z         "doc": {
2026-06-09T03:00:38.4495660Z           "complete": false,
2026-06-09T03:00:38.4495745Z           "evidence": []
2026-06-09T03:00:38.4495831Z         },
2026-06-09T03:00:38.4495913Z         "impl": {
2026-06-09T03:00:38.4496003Z           "complete": true,
2026-06-09T03:00:38.4496088Z           "evidence": [
2026-06-09T03:00:38.4496170Z             {
2026-06-09T03:00:38.4496332Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4496432Z               "line": 149
2026-06-09T03:00:38.4496514Z             },
2026-06-09T03:00:38.4496599Z             {
2026-06-09T03:00:38.4496709Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4496805Z               "line": 18
2026-06-09T03:00:38.4496895Z             },
2026-06-09T03:00:38.4497076Z             {
2026-06-09T03:00:38.4497177Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4497271Z               "line": 98
2026-06-09T03:00:38.4497357Z             }
2026-06-09T03:00:38.4497434Z           ]
2026-06-09T03:00:38.4497520Z         },
2026-06-09T03:00:38.4497600Z         "int": {
2026-06-09T03:00:38.4497695Z           "complete": false,
2026-06-09T03:00:38.4497783Z           "evidence": []
2026-06-09T03:00:38.4497863Z         },
2026-06-09T03:00:38.4497948Z         "unit": {
2026-06-09T03:00:38.4498038Z           "complete": true,
2026-06-09T03:00:38.4498124Z           "evidence": [
2026-06-09T03:00:38.4498206Z             {
2026-06-09T03:00:38.4498319Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4498401Z               "line": 565
2026-06-09T03:00:38.4498483Z             },
2026-06-09T03:00:38.4498568Z             {
2026-06-09T03:00:38.4498677Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4498773Z               "line": 159
2026-06-09T03:00:38.4498854Z             },
2026-06-09T03:00:38.4498939Z             {
2026-06-09T03:00:38.4499040Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4499126Z               "line": 231
2026-06-09T03:00:38.4499207Z             }
2026-06-09T03:00:38.4499287Z           ]
2026-06-09T03:00:38.4499369Z         }
2026-06-09T03:00:38.4499446Z       }
2026-06-09T03:00:38.4499530Z     },
2026-06-09T03:00:38.4499606Z     {
2026-06-09T03:00:38.4499722Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-09T03:00:38.4500127Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-09T03:00:38.4500217Z       "requiredStages": [
2026-06-09T03:00:38.4500304Z         "impl",
2026-06-09T03:00:38.4500385Z         "unit"
2026-06-09T03:00:38.4500479Z       ],
2026-06-09T03:00:38.4500569Z       "stages": {
2026-06-09T03:00:38.4500655Z         "doc": {
2026-06-09T03:00:38.4500745Z           "complete": true,
2026-06-09T03:00:38.4500829Z           "evidence": [
2026-06-09T03:00:38.4500914Z             {
2026-06-09T03:00:38.4501016Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4501102Z               "line": 218
2026-06-09T03:00:38.4501181Z             }
2026-06-09T03:00:38.4501273Z           ]
2026-06-09T03:00:38.4501359Z         },
2026-06-09T03:00:38.4501440Z         "impl": {
2026-06-09T03:00:38.4501529Z           "complete": true,
2026-06-09T03:00:38.4501616Z           "evidence": [
2026-06-09T03:00:38.4501697Z             {
2026-06-09T03:00:38.4501815Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.4501902Z               "line": 302
2026-06-09T03:00:38.4501984Z             },
2026-06-09T03:00:38.4502064Z             {
2026-06-09T03:00:38.4502178Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4502455Z               "line": 257
2026-06-09T03:00:38.4502536Z             },
2026-06-09T03:00:38.4502618Z             {
2026-06-09T03:00:38.4502731Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4502817Z               "line": 405
2026-06-09T03:00:38.4502899Z             },
2026-06-09T03:00:38.4502980Z             {
2026-06-09T03:00:38.4503088Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4503178Z               "line": 77
2026-06-09T03:00:38.4503260Z             }
2026-06-09T03:00:38.4503339Z           ]
2026-06-09T03:00:38.4503424Z         },
2026-06-09T03:00:38.4503505Z         "int": {
2026-06-09T03:00:38.4503596Z           "complete": false,
2026-06-09T03:00:38.4503677Z           "evidence": []
2026-06-09T03:00:38.4503763Z         },
2026-06-09T03:00:38.4503844Z         "unit": {
2026-06-09T03:00:38.4503944Z           "complete": true,
2026-06-09T03:00:38.4504029Z           "evidence": [
2026-06-09T03:00:38.4504120Z             {
2026-06-09T03:00:38.4504240Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4504326Z               "line": 478
2026-06-09T03:00:38.4504406Z             },
2026-06-09T03:00:38.4504483Z             {
2026-06-09T03:00:38.4504597Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4504683Z               "line": 516
2026-06-09T03:00:38.4504759Z             },
2026-06-09T03:00:38.4504842Z             {
2026-06-09T03:00:38.4504950Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4505041Z               "line": 166
2026-06-09T03:00:38.4505132Z             }
2026-06-09T03:00:38.4505217Z           ]
2026-06-09T03:00:38.4505303Z         }
2026-06-09T03:00:38.4505389Z       }
2026-06-09T03:00:38.4505476Z     },
2026-06-09T03:00:38.4505556Z     {
2026-06-09T03:00:38.4505683Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-09T03:00:38.4506206Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-09T03:00:38.4506306Z       "requiredStages": [
2026-06-09T03:00:38.4506391Z         "impl",
2026-06-09T03:00:38.4506473Z         "unit"
2026-06-09T03:00:38.4506559Z       ],
2026-06-09T03:00:38.4506644Z       "stages": {
2026-06-09T03:00:38.4506735Z         "doc": {
2026-06-09T03:00:38.4506831Z           "complete": false,
2026-06-09T03:00:38.4506920Z           "evidence": []
2026-06-09T03:00:38.4507102Z         },
2026-06-09T03:00:38.4507197Z         "impl": {
2026-06-09T03:00:38.4507292Z           "complete": true,
2026-06-09T03:00:38.4507384Z           "evidence": [
2026-06-09T03:00:38.4507469Z             {
2026-06-09T03:00:38.4507593Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-09T03:00:38.4507680Z               "line": 22
2026-06-09T03:00:38.4507765Z             },
2026-06-09T03:00:38.4507846Z             {
2026-06-09T03:00:38.4507970Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4508071Z               "line": 479
2026-06-09T03:00:38.4508155Z             },
2026-06-09T03:00:38.4508237Z             {
2026-06-09T03:00:38.4508358Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-09T03:00:38.4508446Z               "line": 17
2026-06-09T03:00:38.4508531Z             },
2026-06-09T03:00:38.4508617Z             {
2026-06-09T03:00:38.4508728Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-09T03:00:38.4508823Z               "line": 140
2026-06-09T03:00:38.4508907Z             },
2026-06-09T03:00:38.4508990Z             {
2026-06-09T03:00:38.4509118Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4509208Z               "line": 194
2026-06-09T03:00:38.4509295Z             },
2026-06-09T03:00:38.4509381Z             {
2026-06-09T03:00:38.4509504Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4509700Z               "line": 219
2026-06-09T03:00:38.4509891Z             },
2026-06-09T03:00:38.4509977Z             {
2026-06-09T03:00:38.4510095Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4510191Z               "line": 245
2026-06-09T03:00:38.4510273Z             },
2026-06-09T03:00:38.4510358Z             {
2026-06-09T03:00:38.4510477Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.4510564Z               "line": 124
2026-06-09T03:00:38.4510654Z             },
2026-06-09T03:00:38.4510738Z             {
2026-06-09T03:00:38.4510859Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.4510950Z               "line": 224
2026-06-09T03:00:38.4511029Z             }
2026-06-09T03:00:38.4511119Z           ]
2026-06-09T03:00:38.4511205Z         },
2026-06-09T03:00:38.4511296Z         "int": {
2026-06-09T03:00:38.4511385Z           "complete": false,
2026-06-09T03:00:38.4511479Z           "evidence": []
2026-06-09T03:00:38.4511571Z         },
2026-06-09T03:00:38.4511667Z         "unit": {
2026-06-09T03:00:38.4511760Z           "complete": true,
2026-06-09T03:00:38.4511852Z           "evidence": [
2026-06-09T03:00:38.4511943Z             {
2026-06-09T03:00:38.4512056Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-09T03:00:38.4512147Z               "line": 62
2026-06-09T03:00:38.4512234Z             },
2026-06-09T03:00:38.4512324Z             {
2026-06-09T03:00:38.4512443Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-09T03:00:38.4512529Z               "line": 72
2026-06-09T03:00:38.4512619Z             },
2026-06-09T03:00:38.4512700Z             {
2026-06-09T03:00:38.4512816Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-09T03:00:38.4512906Z               "line": 84
2026-06-09T03:00:38.4512987Z             },
2026-06-09T03:00:38.4513082Z             {
2026-06-09T03:00:38.4513197Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-09T03:00:38.4513291Z               "line": 346
2026-06-09T03:00:38.4513387Z             },
2026-06-09T03:00:38.4513479Z             {
2026-06-09T03:00:38.4513601Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-09T03:00:38.4513686Z               "line": 274
2026-06-09T03:00:38.4513772Z             },
2026-06-09T03:00:38.4513858Z             {
2026-06-09T03:00:38.4513979Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-09T03:00:38.4514065Z               "line": 315
2026-06-09T03:00:38.4514157Z             },
2026-06-09T03:00:38.4514252Z             {
2026-06-09T03:00:38.4514360Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-09T03:00:38.4514453Z               "line": 353
2026-06-09T03:00:38.4514538Z             },
2026-06-09T03:00:38.4514622Z             {
2026-06-09T03:00:38.4514738Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4514838Z               "line": 656
2026-06-09T03:00:38.4514923Z             },
2026-06-09T03:00:38.4515009Z             {
2026-06-09T03:00:38.4515143Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.4515238Z               "line": 397
2026-06-09T03:00:38.4515319Z             },
2026-06-09T03:00:38.4515407Z             {
2026-06-09T03:00:38.4515519Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.4515620Z               "line": 440
2026-06-09T03:00:38.4515702Z             }
2026-06-09T03:00:38.4515792Z           ]
2026-06-09T03:00:38.4515877Z         }
2026-06-09T03:00:38.4515963Z       }
2026-06-09T03:00:38.4516051Z     },
2026-06-09T03:00:38.4516134Z     {
2026-06-09T03:00:38.4516248Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-09T03:00:38.4516461Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-09T03:00:38.4516565Z       "requiredStages": [
2026-06-09T03:00:38.4516646Z         "impl",
2026-06-09T03:00:38.4516738Z         "unit"
2026-06-09T03:00:38.4516827Z       ],
2026-06-09T03:00:38.4517062Z       "stages": {
2026-06-09T03:00:38.4517281Z         "doc": {
2026-06-09T03:00:38.4517371Z           "complete": false,
2026-06-09T03:00:38.4517480Z           "evidence": []
2026-06-09T03:00:38.4517561Z         },
2026-06-09T03:00:38.4517654Z         "impl": {
2026-06-09T03:00:38.4517748Z           "complete": true,
2026-06-09T03:00:38.4517833Z           "evidence": [
2026-06-09T03:00:38.4517915Z             {
2026-06-09T03:00:38.4518034Z               "path": "crates/spt-term/src/reader.rs",
2026-06-09T03:00:38.4518120Z               "line": 169
2026-06-09T03:00:38.4518206Z             }
2026-06-09T03:00:38.4518288Z           ]
2026-06-09T03:00:38.4518377Z         },
2026-06-09T03:00:38.4518458Z         "int": {
2026-06-09T03:00:38.4518550Z           "complete": true,
2026-06-09T03:00:38.4518636Z           "evidence": [
2026-06-09T03:00:38.4518720Z             {
2026-06-09T03:00:38.4518830Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-09T03:00:38.4518918Z               "line": 44
2026-06-09T03:00:38.4519020Z             },
2026-06-09T03:00:38.4519110Z             {
2026-06-09T03:00:38.4519220Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-09T03:00:38.4519307Z               "line": 66
2026-06-09T03:00:38.4519392Z             }
2026-06-09T03:00:38.4519477Z           ]
2026-06-09T03:00:38.4519560Z         },
2026-06-09T03:00:38.4519650Z         "unit": {
2026-06-09T03:00:38.4519740Z           "complete": true,
2026-06-09T03:00:38.4519831Z           "evidence": [
2026-06-09T03:00:38.4519912Z             {
2026-06-09T03:00:38.4520021Z               "path": "crates/spt-term/src/reader.rs",
2026-06-09T03:00:38.4520111Z               "line": 186
2026-06-09T03:00:38.4520194Z             },
2026-06-09T03:00:38.4520284Z             {
2026-06-09T03:00:38.4520393Z               "path": "crates/spt-term/src/reader.rs",
2026-06-09T03:00:38.4520484Z               "line": 238
2026-06-09T03:00:38.4520570Z             },
2026-06-09T03:00:38.4520655Z             {
2026-06-09T03:00:38.4520765Z               "path": "crates/spt-term/src/reader.rs",
2026-06-09T03:00:38.4520871Z               "line": 266
2026-06-09T03:00:38.4520956Z             }
2026-06-09T03:00:38.4521042Z           ]
2026-06-09T03:00:38.4521129Z         }
2026-06-09T03:00:38.4521214Z       }
2026-06-09T03:00:38.4521303Z     },
2026-06-09T03:00:38.4521390Z     {
2026-06-09T03:00:38.4521515Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-09T03:00:38.4521926Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-09T03:00:38.4522020Z       "requiredStages": [
2026-06-09T03:00:38.4522112Z         "impl",
2026-06-09T03:00:38.4522197Z         "unit",
2026-06-09T03:00:38.4522283Z         "int"
2026-06-09T03:00:38.4522364Z       ],
2026-06-09T03:00:38.4522465Z       "stages": {
2026-06-09T03:00:38.4522551Z         "doc": {
2026-06-09T03:00:38.4522645Z           "complete": false,
2026-06-09T03:00:38.4522737Z           "evidence": []
2026-06-09T03:00:38.4522836Z         },
2026-06-09T03:00:38.4522922Z         "impl": {
2026-06-09T03:00:38.4523008Z           "complete": true,
2026-06-09T03:00:38.4523099Z           "evidence": [
2026-06-09T03:00:38.4523184Z             {
2026-06-09T03:00:38.4523308Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4523404Z               "line": 150
2026-06-09T03:00:38.4523485Z             },
2026-06-09T03:00:38.4523571Z             {
2026-06-09T03:00:38.4523686Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4523776Z               "line": 174
2026-06-09T03:00:38.4523866Z             },
2026-06-09T03:00:38.4523947Z             {
2026-06-09T03:00:38.4524063Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.4524147Z               "line": 79
2026-06-09T03:00:38.4524232Z             },
2026-06-09T03:00:38.4524313Z             {
2026-06-09T03:00:38.4524427Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.4524683Z               "line": 51
2026-06-09T03:00:38.4524764Z             },
2026-06-09T03:00:38.4524844Z             {
2026-06-09T03:00:38.4524955Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4525046Z               "line": 154
2026-06-09T03:00:38.4525127Z             },
2026-06-09T03:00:38.4525216Z             {
2026-06-09T03:00:38.4525332Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4525422Z               "line": 27
2026-06-09T03:00:38.4525512Z             },
2026-06-09T03:00:38.4525594Z             {
2026-06-09T03:00:38.4525713Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4525803Z               "line": 79
2026-06-09T03:00:38.4525884Z             },
2026-06-09T03:00:38.4525971Z             {
2026-06-09T03:00:38.4526079Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4526175Z               "line": 102
2026-06-09T03:00:38.4526257Z             },
2026-06-09T03:00:38.4526389Z             {
2026-06-09T03:00:38.4526538Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4526625Z               "line": 116
2026-06-09T03:00:38.4526709Z             }
2026-06-09T03:00:38.4526790Z           ]
2026-06-09T03:00:38.4526875Z         },
2026-06-09T03:00:38.4527040Z         "int": {
2026-06-09T03:00:38.4527173Z           "complete": true,
2026-06-09T03:00:38.4527313Z           "evidence": [
2026-06-09T03:00:38.4527402Z             {
2026-06-09T03:00:38.4527540Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-09T03:00:38.4527626Z               "line": 35
2026-06-09T03:00:38.4527716Z             }
2026-06-09T03:00:38.4527797Z           ]
2026-06-09T03:00:38.4527885Z         },
2026-06-09T03:00:38.4527974Z         "unit": {
2026-06-09T03:00:38.4528064Z           "complete": true,
2026-06-09T03:00:38.4528151Z           "evidence": [
2026-06-09T03:00:38.4528237Z             {
2026-06-09T03:00:38.4528355Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4528456Z               "line": 584
2026-06-09T03:00:38.4528543Z             },
2026-06-09T03:00:38.4528632Z             {
2026-06-09T03:00:38.4528742Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4528834Z               "line": 351
2026-06-09T03:00:38.4528914Z             },
2026-06-09T03:00:38.4529004Z             {
2026-06-09T03:00:38.4529115Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4529205Z               "line": 124
2026-06-09T03:00:38.4529289Z             },
2026-06-09T03:00:38.4529372Z             {
2026-06-09T03:00:38.4529487Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4529571Z               "line": 143
2026-06-09T03:00:38.4529661Z             },
2026-06-09T03:00:38.4529742Z             {
2026-06-09T03:00:38.4529853Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4529943Z               "line": 160
2026-06-09T03:00:38.4530027Z             },
2026-06-09T03:00:38.4530129Z             {
2026-06-09T03:00:38.4530243Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4530333Z               "line": 187
2026-06-09T03:00:38.4530410Z             },
2026-06-09T03:00:38.4530496Z             {
2026-06-09T03:00:38.4530610Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-09T03:00:38.4530691Z               "line": 206
2026-06-09T03:00:38.4530778Z             },
2026-06-09T03:00:38.4530858Z             {
2026-06-09T03:00:38.4530972Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4531059Z               "line": 229
2026-06-09T03:00:38.4531144Z             }
2026-06-09T03:00:38.4531230Z           ]
2026-06-09T03:00:38.4531316Z         }
2026-06-09T03:00:38.4531403Z       }
2026-06-09T03:00:38.4531487Z     },
2026-06-09T03:00:38.4531573Z     {
2026-06-09T03:00:38.4531689Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-09T03:00:38.4532297Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-09T03:00:38.4532585Z       "requiredStages": [
2026-06-09T03:00:38.4532667Z         "impl",
2026-06-09T03:00:38.4532758Z         "unit"
2026-06-09T03:00:38.4532838Z       ],
2026-06-09T03:00:38.4532929Z       "stages": {
2026-06-09T03:00:38.4533011Z         "doc": {
2026-06-09T03:00:38.4533106Z           "complete": false,
2026-06-09T03:00:38.4533200Z           "evidence": []
2026-06-09T03:00:38.4533282Z         },
2026-06-09T03:00:38.4533368Z         "impl": {
2026-06-09T03:00:38.4533458Z           "complete": true,
2026-06-09T03:00:38.4533553Z           "evidence": [
2026-06-09T03:00:38.4533635Z             {
2026-06-09T03:00:38.4533754Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4533844Z               "line": 222
2026-06-09T03:00:38.4533936Z             },
2026-06-09T03:00:38.4534030Z             {
2026-06-09T03:00:38.4534145Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4534231Z               "line": 389
2026-06-09T03:00:38.4534317Z             }
2026-06-09T03:00:38.4534402Z           ]
2026-06-09T03:00:38.4534483Z         },
2026-06-09T03:00:38.4534556Z         "int": {
2026-06-09T03:00:38.4534651Z           "complete": false,
2026-06-09T03:00:38.4534740Z           "evidence": []
2026-06-09T03:00:38.4534825Z         },
2026-06-09T03:00:38.4534912Z         "unit": {
2026-06-09T03:00:38.4535001Z           "complete": true,
2026-06-09T03:00:38.4535123Z           "evidence": [
2026-06-09T03:00:38.4535210Z             {
2026-06-09T03:00:38.4535334Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-09T03:00:38.4535414Z               "line": 161
2026-06-09T03:00:38.4535500Z             }
2026-06-09T03:00:38.4535578Z           ]
2026-06-09T03:00:38.4535658Z         }
2026-06-09T03:00:38.4535776Z       }
2026-06-09T03:00:38.4535897Z     },
2026-06-09T03:00:38.4535982Z     {
2026-06-09T03:00:38.4536086Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-09T03:00:38.4536259Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-09T03:00:38.4536377Z       "requiredStages": [
2026-06-09T03:00:38.4536479Z         "impl",
2026-06-09T03:00:38.4536565Z         "unit"
2026-06-09T03:00:38.4536649Z       ],
2026-06-09T03:00:38.4536735Z       "stages": {
2026-06-09T03:00:38.4536817Z         "doc": {
2026-06-09T03:00:38.4536917Z           "complete": false,
2026-06-09T03:00:38.4537098Z           "evidence": []
2026-06-09T03:00:38.4537185Z         },
2026-06-09T03:00:38.4537269Z         "impl": {
2026-06-09T03:00:38.4537359Z           "complete": true,
2026-06-09T03:00:38.4537445Z           "evidence": [
2026-06-09T03:00:38.4537530Z             {
2026-06-09T03:00:38.4537643Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4537733Z               "line": 40
2026-06-09T03:00:38.4537830Z             },
2026-06-09T03:00:38.4539898Z             {
2026-06-09T03:00:38.4540047Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4540141Z               "line": 100
2026-06-09T03:00:38.4540226Z             },
2026-06-09T03:00:38.4540312Z             {
2026-06-09T03:00:38.4540436Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4540526Z               "line": 215
2026-06-09T03:00:38.4540612Z             },
2026-06-09T03:00:38.4540690Z             {
2026-06-09T03:00:38.4540803Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4540893Z               "line": 314
2026-06-09T03:00:38.4540975Z             }
2026-06-09T03:00:38.4541061Z           ]
2026-06-09T03:00:38.4541146Z         },
2026-06-09T03:00:38.4541232Z         "int": {
2026-06-09T03:00:38.4541324Z           "complete": false,
2026-06-09T03:00:38.4541413Z           "evidence": []
2026-06-09T03:00:38.4541494Z         },
2026-06-09T03:00:38.4541738Z         "unit": {
2026-06-09T03:00:38.4541924Z           "complete": true,
2026-06-09T03:00:38.4542010Z           "evidence": [
2026-06-09T03:00:38.4542090Z             {
2026-06-09T03:00:38.4542205Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4542297Z               "line": 352
2026-06-09T03:00:38.4542376Z             },
2026-06-09T03:00:38.4542462Z             {
2026-06-09T03:00:38.4542568Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4542654Z               "line": 409
2026-06-09T03:00:38.4542738Z             },
2026-06-09T03:00:38.4542823Z             {
2026-06-09T03:00:38.4542934Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4543018Z               "line": 458
2026-06-09T03:00:38.4543103Z             },
2026-06-09T03:00:38.4543184Z             {
2026-06-09T03:00:38.4543290Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4543375Z               "line": 479
2026-06-09T03:00:38.4543464Z             }
2026-06-09T03:00:38.4543561Z           ]
2026-06-09T03:00:38.4543642Z         }
2026-06-09T03:00:38.4543727Z       }
2026-06-09T03:00:38.4543813Z     },
2026-06-09T03:00:38.4543890Z     {
2026-06-09T03:00:38.4544013Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-09T03:00:38.4544138Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-09T03:00:38.4544229Z       "requiredStages": [
2026-06-09T03:00:38.4544309Z         "impl",
2026-06-09T03:00:38.4544395Z         "unit"
2026-06-09T03:00:38.4544476Z       ],
2026-06-09T03:00:38.4544562Z       "stages": {
2026-06-09T03:00:38.4544643Z         "doc": {
2026-06-09T03:00:38.4544733Z           "complete": false,
2026-06-09T03:00:38.4544826Z           "evidence": []
2026-06-09T03:00:38.4544905Z         },
2026-06-09T03:00:38.4544996Z         "impl": {
2026-06-09T03:00:38.4545087Z           "complete": true,
2026-06-09T03:00:38.4545173Z           "evidence": [
2026-06-09T03:00:38.4545258Z             {
2026-06-09T03:00:38.4545376Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4545472Z               "line": 113
2026-06-09T03:00:38.4545552Z             },
2026-06-09T03:00:38.4545641Z             {
2026-06-09T03:00:38.4545750Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4545837Z               "line": 208
2026-06-09T03:00:38.4545918Z             }
2026-06-09T03:00:38.4545998Z           ]
2026-06-09T03:00:38.4546080Z         },
2026-06-09T03:00:38.4546161Z         "int": {
2026-06-09T03:00:38.4546251Z           "complete": false,
2026-06-09T03:00:38.4546341Z           "evidence": []
2026-06-09T03:00:38.4546424Z         },
2026-06-09T03:00:38.4546509Z         "unit": {
2026-06-09T03:00:38.4546599Z           "complete": true,
2026-06-09T03:00:38.4546690Z           "evidence": [
2026-06-09T03:00:38.4546767Z             {
2026-06-09T03:00:38.4546876Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4547058Z               "line": 373
2026-06-09T03:00:38.4547148Z             },
2026-06-09T03:00:38.4547243Z             {
2026-06-09T03:00:38.4547353Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4547440Z               "line": 436
2026-06-09T03:00:38.4547519Z             }
2026-06-09T03:00:38.4547600Z           ]
2026-06-09T03:00:38.4547693Z         }
2026-06-09T03:00:38.4547773Z       }
2026-06-09T03:00:38.4547862Z     },
2026-06-09T03:00:38.4547943Z     {
2026-06-09T03:00:38.4548062Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-09T03:00:38.4549180Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-09T03:00:38.4549281Z       "requiredStages": [
2026-06-09T03:00:38.4549367Z         "impl",
2026-06-09T03:00:38.4549557Z         "unit"
2026-06-09T03:00:38.4549738Z       ],
2026-06-09T03:00:38.4549819Z       "stages": {
2026-06-09T03:00:38.4549906Z         "doc": {
2026-06-09T03:00:38.4550001Z           "complete": true,
2026-06-09T03:00:38.4550086Z           "evidence": [
2026-06-09T03:00:38.4550167Z             {
2026-06-09T03:00:38.4550273Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4550363Z               "line": 204
2026-06-09T03:00:38.4550443Z             }
2026-06-09T03:00:38.4550525Z           ]
2026-06-09T03:00:38.4550607Z         },
2026-06-09T03:00:38.4550697Z         "impl": {
2026-06-09T03:00:38.4550781Z           "complete": true,
2026-06-09T03:00:38.4550867Z           "evidence": [
2026-06-09T03:00:38.4550958Z             {
2026-06-09T03:00:38.4551077Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4551162Z               "line": 501
2026-06-09T03:00:38.4551250Z             },
2026-06-09T03:00:38.4551326Z             {
2026-06-09T03:00:38.4551448Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4551526Z               "line": 593
2026-06-09T03:00:38.4551611Z             },
2026-06-09T03:00:38.4551692Z             {
2026-06-09T03:00:38.4551811Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.4551894Z               "line": 183
2026-06-09T03:00:38.4551978Z             }
2026-06-09T03:00:38.4552068Z           ]
2026-06-09T03:00:38.4552169Z         },
2026-06-09T03:00:38.4552255Z         "int": {
2026-06-09T03:00:38.4552345Z           "complete": false,
2026-06-09T03:00:38.4552436Z           "evidence": []
2026-06-09T03:00:38.4552518Z         },
2026-06-09T03:00:38.4552598Z         "unit": {
2026-06-09T03:00:38.4552688Z           "complete": true,
2026-06-09T03:00:38.4552775Z           "evidence": [
2026-06-09T03:00:38.4552862Z             {
2026-06-09T03:00:38.4552974Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4553061Z               "line": 631
2026-06-09T03:00:38.4553158Z             },
2026-06-09T03:00:38.4553242Z             {
2026-06-09T03:00:38.4553364Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-09T03:00:38.4553450Z               "line": 44
2026-06-09T03:00:38.4553531Z             },
2026-06-09T03:00:38.4553615Z             {
2026-06-09T03:00:38.4553729Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-09T03:00:38.4553816Z               "line": 54
2026-06-09T03:00:38.4553897Z             },
2026-06-09T03:00:38.4553982Z             {
2026-06-09T03:00:38.4554107Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-09T03:00:38.4554193Z               "line": 51
2026-06-09T03:00:38.4554278Z             }
2026-06-09T03:00:38.4554359Z           ]
2026-06-09T03:00:38.4554441Z         }
2026-06-09T03:00:38.4554521Z       }
2026-06-09T03:00:38.4554607Z     },
2026-06-09T03:00:38.4554688Z     {
2026-06-09T03:00:38.4554807Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-09T03:00:38.4555013Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-09T03:00:38.4555122Z       "requiredStages": [
2026-06-09T03:00:38.4555208Z         "impl",
2026-06-09T03:00:38.4555289Z         "unit"
2026-06-09T03:00:38.4555376Z       ],
2026-06-09T03:00:38.4555461Z       "stages": {
2026-06-09T03:00:38.4555541Z         "doc": {
2026-06-09T03:00:38.4555642Z           "complete": false,
2026-06-09T03:00:38.4555729Z           "evidence": []
2026-06-09T03:00:38.4555808Z         },
2026-06-09T03:00:38.4555893Z         "impl": {
2026-06-09T03:00:38.4555984Z           "complete": true,
2026-06-09T03:00:38.4556060Z           "evidence": [
2026-06-09T03:00:38.4556139Z             {
2026-06-09T03:00:38.4556262Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4556359Z               "line": 26
2026-06-09T03:00:38.4556440Z             },
2026-06-09T03:00:38.4556520Z             {
2026-06-09T03:00:38.4556630Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4556788Z               "line": 135
2026-06-09T03:00:38.4557036Z             },
2026-06-09T03:00:38.4557117Z             {
2026-06-09T03:00:38.4557240Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-09T03:00:38.4557341Z               "line": 26
2026-06-09T03:00:38.4557422Z             },
2026-06-09T03:00:38.4557507Z             {
2026-06-09T03:00:38.4557623Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-09T03:00:38.4557713Z               "line": 237
2026-06-09T03:00:38.4557798Z             }
2026-06-09T03:00:38.4557879Z           ]
2026-06-09T03:00:38.4557957Z         },
2026-06-09T03:00:38.4558037Z         "int": {
2026-06-09T03:00:38.4558127Z           "complete": false,
2026-06-09T03:00:38.4558214Z           "evidence": []
2026-06-09T03:00:38.4558300Z         },
2026-06-09T03:00:38.4558385Z         "unit": {
2026-06-09T03:00:38.4558470Z           "complete": true,
2026-06-09T03:00:38.4558560Z           "evidence": [
2026-06-09T03:00:38.4558646Z             {
2026-06-09T03:00:38.4558763Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4558848Z               "line": 161
2026-06-09T03:00:38.4558935Z             },
2026-06-09T03:00:38.4559017Z             {
2026-06-09T03:00:38.4559125Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4559216Z               "line": 170
2026-06-09T03:00:38.4559298Z             },
2026-06-09T03:00:38.4559378Z             {
2026-06-09T03:00:38.4559483Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4559570Z               "line": 179
2026-06-09T03:00:38.4559650Z             },
2026-06-09T03:00:38.4559731Z             {
2026-06-09T03:00:38.4559841Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4559927Z               "line": 190
2026-06-09T03:00:38.4560008Z             },
2026-06-09T03:00:38.4560088Z             {
2026-06-09T03:00:38.4560199Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4560294Z               "line": 199
2026-06-09T03:00:38.4560384Z             },
2026-06-09T03:00:38.4560466Z             {
2026-06-09T03:00:38.4560571Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4560660Z               "line": 216
2026-06-09T03:00:38.4560737Z             },
2026-06-09T03:00:38.4560824Z             {
2026-06-09T03:00:38.4560937Z               "path": "crates/spt-live/src/context.rs",
2026-06-09T03:00:38.4561023Z               "line": 242
2026-06-09T03:00:38.4561105Z             },
2026-06-09T03:00:38.4561187Z             {
2026-06-09T03:00:38.4561303Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4561389Z               "line": 257
2026-06-09T03:00:38.4561475Z             },
2026-06-09T03:00:38.4561556Z             {
2026-06-09T03:00:38.4561661Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4561747Z               "line": 244
2026-06-09T03:00:38.4561829Z             },
2026-06-09T03:00:38.4561910Z             {
2026-06-09T03:00:38.4562047Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-09T03:00:38.4562134Z               "line": 265
2026-06-09T03:00:38.4562220Z             },
2026-06-09T03:00:38.4562299Z             {
2026-06-09T03:00:38.4562415Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-09T03:00:38.4562501Z               "line": 293
2026-06-09T03:00:38.4562586Z             },
2026-06-09T03:00:38.4562667Z             {
2026-06-09T03:00:38.4562783Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-09T03:00:38.4562872Z               "line": 317
2026-06-09T03:00:38.4562953Z             },
2026-06-09T03:00:38.4563035Z             {
2026-06-09T03:00:38.4563149Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-09T03:00:38.4563235Z               "line": 327
2026-06-09T03:00:38.4563316Z             },
2026-06-09T03:00:38.4563398Z             {
2026-06-09T03:00:38.4563515Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.4563698Z               "line": 540
2026-06-09T03:00:38.4563873Z             }
2026-06-09T03:00:38.4563953Z           ]
2026-06-09T03:00:38.4564039Z         }
2026-06-09T03:00:38.4564124Z       }
2026-06-09T03:00:38.4564204Z     },
2026-06-09T03:00:38.4564284Z     {
2026-06-09T03:00:38.4564405Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-09T03:00:38.4564552Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-09T03:00:38.4564643Z       "requiredStages": [
2026-06-09T03:00:38.4564724Z         "impl",
2026-06-09T03:00:38.4564809Z         "unit"
2026-06-09T03:00:38.4564886Z       ],
2026-06-09T03:00:38.4564977Z       "stages": {
2026-06-09T03:00:38.4565058Z         "doc": {
2026-06-09T03:00:38.4565148Z           "complete": false,
2026-06-09T03:00:38.4565233Z           "evidence": []
2026-06-09T03:00:38.4565316Z         },
2026-06-09T03:00:38.4565401Z         "impl": {
2026-06-09T03:00:38.4565486Z           "complete": true,
2026-06-09T03:00:38.4565577Z           "evidence": [
2026-06-09T03:00:38.4565673Z             {
2026-06-09T03:00:38.4565787Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.4565872Z               "line": 25
2026-06-09T03:00:38.4565960Z             },
2026-06-09T03:00:38.4566039Z             {
2026-06-09T03:00:38.4566149Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4566236Z               "line": 26
2026-06-09T03:00:38.4566317Z             },
2026-06-09T03:00:38.4566416Z             {
2026-06-09T03:00:38.4566525Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4566616Z               "line": 159
2026-06-09T03:00:38.4566695Z             }
2026-06-09T03:00:38.4566780Z           ]
2026-06-09T03:00:38.4566861Z         },
2026-06-09T03:00:38.4567038Z         "int": {
2026-06-09T03:00:38.4567132Z           "complete": false,
2026-06-09T03:00:38.4567224Z           "evidence": []
2026-06-09T03:00:38.4567305Z         },
2026-06-09T03:00:38.4567390Z         "unit": {
2026-06-09T03:00:38.4567481Z           "complete": true,
2026-06-09T03:00:38.4567577Z           "evidence": [
2026-06-09T03:00:38.4567658Z             {
2026-06-09T03:00:38.4567767Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.4567854Z               "line": 184
2026-06-09T03:00:38.4567934Z             },
2026-06-09T03:00:38.4568015Z             {
2026-06-09T03:00:38.4568120Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.4568207Z               "line": 236
2026-06-09T03:00:38.4568287Z             },
2026-06-09T03:00:38.4568368Z             {
2026-06-09T03:00:38.4568483Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4568569Z               "line": 186
2026-06-09T03:00:38.4568649Z             }
2026-06-09T03:00:38.4568730Z           ]
2026-06-09T03:00:38.4568813Z         }
2026-06-09T03:00:38.4568893Z       }
2026-06-09T03:00:38.4568978Z     },
2026-06-09T03:00:38.4569058Z     {
2026-06-09T03:00:38.4569168Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-09T03:00:38.4569351Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-09T03:00:38.4569442Z       "requiredStages": [
2026-06-09T03:00:38.4569524Z         "impl",
2026-06-09T03:00:38.4569609Z         "unit"
2026-06-09T03:00:38.4569690Z       ],
2026-06-09T03:00:38.4569776Z       "stages": {
2026-06-09T03:00:38.4569858Z         "doc": {
2026-06-09T03:00:38.4569948Z           "complete": false,
2026-06-09T03:00:38.4570033Z           "evidence": []
2026-06-09T03:00:38.4570115Z         },
2026-06-09T03:00:38.4570201Z         "impl": {
2026-06-09T03:00:38.4570291Z           "complete": true,
2026-06-09T03:00:38.4570377Z           "evidence": [
2026-06-09T03:00:38.4570459Z             {
2026-06-09T03:00:38.4570573Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4570658Z               "line": 48
2026-06-09T03:00:38.4570740Z             },
2026-06-09T03:00:38.4570821Z             {
2026-06-09T03:00:38.4570930Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4571215Z               "line": 55
2026-06-09T03:00:38.4571297Z             },
2026-06-09T03:00:38.4571384Z             {
2026-06-09T03:00:38.4571497Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4571578Z               "line": 74
2026-06-09T03:00:38.4571665Z             },
2026-06-09T03:00:38.4571747Z             {
2026-06-09T03:00:38.4571854Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4571944Z               "line": 91
2026-06-09T03:00:38.4572026Z             }
2026-06-09T03:00:38.4572112Z           ]
2026-06-09T03:00:38.4572193Z         },
2026-06-09T03:00:38.4572278Z         "int": {
2026-06-09T03:00:38.4572365Z           "complete": false,
2026-06-09T03:00:38.4572451Z           "evidence": []
2026-06-09T03:00:38.4572535Z         },
2026-06-09T03:00:38.4572616Z         "unit": {
2026-06-09T03:00:38.4572703Z           "complete": true,
2026-06-09T03:00:38.4572794Z           "evidence": [
2026-06-09T03:00:38.4572879Z             {
2026-06-09T03:00:38.4572994Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4573084Z               "line": 149
2026-06-09T03:00:38.4573165Z             },
2026-06-09T03:00:38.4573246Z             {
2026-06-09T03:00:38.4573362Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4573446Z               "line": 166
2026-06-09T03:00:38.4573532Z             },
2026-06-09T03:00:38.4573614Z             {
2026-06-09T03:00:38.4573719Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4573804Z               "line": 176
2026-06-09T03:00:38.4573885Z             },
2026-06-09T03:00:38.4573967Z             {
2026-06-09T03:00:38.4574075Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4574162Z               "line": 194
2026-06-09T03:00:38.4574244Z             },
2026-06-09T03:00:38.4574325Z             {
2026-06-09T03:00:38.4574433Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4574522Z               "line": 207
2026-06-09T03:00:38.4574614Z             }
2026-06-09T03:00:38.4574694Z           ]
2026-06-09T03:00:38.4574773Z         }
2026-06-09T03:00:38.4574859Z       }
2026-06-09T03:00:38.4574937Z     },
2026-06-09T03:00:38.4575023Z     {
2026-06-09T03:00:38.4575140Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-09T03:00:38.4575317Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-09T03:00:38.4575412Z       "requiredStages": [
2026-06-09T03:00:38.4575493Z         "impl",
2026-06-09T03:00:38.4575581Z         "unit"
2026-06-09T03:00:38.4575660Z       ],
2026-06-09T03:00:38.4575751Z       "stages": {
2026-06-09T03:00:38.4575838Z         "doc": {
2026-06-09T03:00:38.4575928Z           "complete": false,
2026-06-09T03:00:38.4576014Z           "evidence": []
2026-06-09T03:00:38.4576094Z         },
2026-06-09T03:00:38.4576181Z         "impl": {
2026-06-09T03:00:38.4576271Z           "complete": true,
2026-06-09T03:00:38.4576371Z           "evidence": [
2026-06-09T03:00:38.4576467Z             {
2026-06-09T03:00:38.4576586Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4576671Z               "line": 373
2026-06-09T03:00:38.4576752Z             },
2026-06-09T03:00:38.4576835Z             {
2026-06-09T03:00:38.4577037Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4577123Z               "line": 26
2026-06-09T03:00:38.4577209Z             }
2026-06-09T03:00:38.4577288Z           ]
2026-06-09T03:00:38.4577369Z         },
2026-06-09T03:00:38.4577450Z         "int": {
2026-06-09T03:00:38.4577541Z           "complete": false,
2026-06-09T03:00:38.4577626Z           "evidence": []
2026-06-09T03:00:38.4577716Z         },
2026-06-09T03:00:38.4577799Z         "unit": {
2026-06-09T03:00:38.4577889Z           "complete": true,
2026-06-09T03:00:38.4577974Z           "evidence": [
2026-06-09T03:00:38.4578056Z             {
2026-06-09T03:00:38.4578165Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4578433Z               "line": 150
2026-06-09T03:00:38.4578523Z             },
2026-06-09T03:00:38.4578604Z             {
2026-06-09T03:00:38.4578714Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4578805Z               "line": 208
2026-06-09T03:00:38.4578885Z             }
2026-06-09T03:00:38.4578966Z           ]
2026-06-09T03:00:38.4579043Z         }
2026-06-09T03:00:38.4579129Z       }
2026-06-09T03:00:38.4579219Z     },
2026-06-09T03:00:38.4579300Z     {
2026-06-09T03:00:38.4579420Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-09T03:00:38.4580699Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-09T03:00:38.4580818Z       "requiredStages": [
2026-06-09T03:00:38.4580903Z         "doc",
2026-06-09T03:00:38.4580981Z         "impl",
2026-06-09T03:00:38.4581066Z         "unit"
2026-06-09T03:00:38.4581147Z       ],
2026-06-09T03:00:38.4581237Z       "stages": {
2026-06-09T03:00:38.4581324Z         "doc": {
2026-06-09T03:00:38.4581414Z           "complete": true,
2026-06-09T03:00:38.4581500Z           "evidence": [
2026-06-09T03:00:38.4581581Z             {
2026-06-09T03:00:38.4581686Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4581771Z               "line": 212
2026-06-09T03:00:38.4581857Z             }
2026-06-09T03:00:38.4581940Z           ]
2026-06-09T03:00:38.4582020Z         },
2026-06-09T03:00:38.4582104Z         "impl": {
2026-06-09T03:00:38.4582191Z           "complete": true,
2026-06-09T03:00:38.4582278Z           "evidence": [
2026-06-09T03:00:38.4582359Z             {
2026-06-09T03:00:38.4582476Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4582586Z               "line": 54
2026-06-09T03:00:38.4582667Z             },
2026-06-09T03:00:38.4582753Z             {
2026-06-09T03:00:38.4582862Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4582954Z               "line": 419
2026-06-09T03:00:38.4583035Z             },
2026-06-09T03:00:38.4583114Z             {
2026-06-09T03:00:38.4583235Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4583320Z               "line": 36
2026-06-09T03:00:38.4583392Z             },
2026-06-09T03:00:38.4583472Z             {
2026-06-09T03:00:38.4583574Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4583654Z               "line": 59
2026-06-09T03:00:38.4583735Z             },
2026-06-09T03:00:38.4583807Z             {
2026-06-09T03:00:38.4583917Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4584001Z               "line": 83
2026-06-09T03:00:38.4584097Z             },
2026-06-09T03:00:38.4584213Z             {
2026-06-09T03:00:38.4584321Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4584412Z               "line": 140
2026-06-09T03:00:38.4584494Z             },
2026-06-09T03:00:38.4584575Z             {
2026-06-09T03:00:38.4584688Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4584775Z               "line": 159
2026-06-09T03:00:38.4584857Z             },
2026-06-09T03:00:38.4584936Z             {
2026-06-09T03:00:38.4585050Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4585141Z               "line": 384
2026-06-09T03:00:38.4585221Z             },
2026-06-09T03:00:38.4585300Z             {
2026-06-09T03:00:38.4585414Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4585502Z               "line": 526
2026-06-09T03:00:38.4585583Z             },
2026-06-09T03:00:38.4585662Z             {
2026-06-09T03:00:38.4585854Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4586006Z               "line": 572
2026-06-09T03:00:38.4586092Z             },
2026-06-09T03:00:38.4586169Z             {
2026-06-09T03:00:38.4586278Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4586363Z               "line": 145
2026-06-09T03:00:38.4586446Z             },
2026-06-09T03:00:38.4586530Z             {
2026-06-09T03:00:38.4586630Z               "path": "crates/spt/src/main.rs",
2026-06-09T03:00:38.4586717Z               "line": 39
2026-06-09T03:00:38.4586799Z             }
2026-06-09T03:00:38.4586888Z           ]
2026-06-09T03:00:38.4587047Z         },
2026-06-09T03:00:38.4587128Z         "int": {
2026-06-09T03:00:38.4587217Z           "complete": false,
2026-06-09T03:00:38.4587308Z           "evidence": []
2026-06-09T03:00:38.4587390Z         },
2026-06-09T03:00:38.4587470Z         "unit": {
2026-06-09T03:00:38.4587569Z           "complete": true,
2026-06-09T03:00:38.4587659Z           "evidence": [
2026-06-09T03:00:38.4587750Z             {
2026-06-09T03:00:38.4587862Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4587947Z               "line": 760
2026-06-09T03:00:38.4588029Z             },
2026-06-09T03:00:38.4588111Z             {
2026-06-09T03:00:38.4588229Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4588316Z               "line": 801
2026-06-09T03:00:38.4588397Z             },
2026-06-09T03:00:38.4588478Z             {
2026-06-09T03:00:38.4588587Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4588669Z               "line": 875
2026-06-09T03:00:38.4588749Z             }
2026-06-09T03:00:38.4588830Z           ]
2026-06-09T03:00:38.4588911Z         }
2026-06-09T03:00:38.4588993Z       }
2026-06-09T03:00:38.4589073Z     },
2026-06-09T03:00:38.4589154Z     {
2026-06-09T03:00:38.4589270Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-09T03:00:38.4589412Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-09T03:00:38.4589522Z       "requiredStages": [
2026-06-09T03:00:38.4589603Z         "impl",
2026-06-09T03:00:38.4589689Z         "unit"
2026-06-09T03:00:38.4589769Z       ],
2026-06-09T03:00:38.4589851Z       "stages": {
2026-06-09T03:00:38.4589942Z         "doc": {
2026-06-09T03:00:38.4590032Z           "complete": false,
2026-06-09T03:00:38.4590127Z           "evidence": []
2026-06-09T03:00:38.4590212Z         },
2026-06-09T03:00:38.4590293Z         "impl": {
2026-06-09T03:00:38.4590386Z           "complete": true,
2026-06-09T03:00:38.4590472Z           "evidence": [
2026-06-09T03:00:38.4590553Z             {
2026-06-09T03:00:38.4590669Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4590753Z               "line": 36
2026-06-09T03:00:38.4590834Z             },
2026-06-09T03:00:38.4590916Z             {
2026-06-09T03:00:38.4591026Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4591115Z               "line": 68
2026-06-09T03:00:38.4591206Z             }
2026-06-09T03:00:38.4591288Z           ]
2026-06-09T03:00:38.4591369Z         },
2026-06-09T03:00:38.4591449Z         "int": {
2026-06-09T03:00:38.4591536Z           "complete": false,
2026-06-09T03:00:38.4591626Z           "evidence": []
2026-06-09T03:00:38.4591702Z         },
2026-06-09T03:00:38.4591787Z         "unit": {
2026-06-09T03:00:38.4591880Z           "complete": true,
2026-06-09T03:00:38.4591964Z           "evidence": [
2026-06-09T03:00:38.4592045Z             {
2026-06-09T03:00:38.4592161Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4592246Z               "line": 143
2026-06-09T03:00:38.4592322Z             },
2026-06-09T03:00:38.4592408Z             {
2026-06-09T03:00:38.4592514Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4592604Z               "line": 160
2026-06-09T03:00:38.4592683Z             },
2026-06-09T03:00:38.4592766Z             {
2026-06-09T03:00:38.4592975Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4593165Z               "line": 168
2026-06-09T03:00:38.4593251Z             }
2026-06-09T03:00:38.4593332Z           ]
2026-06-09T03:00:38.4593413Z         }
2026-06-09T03:00:38.4593500Z       }
2026-06-09T03:00:38.4593581Z     },
2026-06-09T03:00:38.4593661Z     {
2026-06-09T03:00:38.4593781Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-09T03:00:38.4593947Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-09T03:00:38.4594037Z       "requiredStages": [
2026-06-09T03:00:38.4594124Z         "impl",
2026-06-09T03:00:38.4594205Z         "unit"
2026-06-09T03:00:38.4594295Z       ],
2026-06-09T03:00:38.4594386Z       "stages": {
2026-06-09T03:00:38.4594467Z         "doc": {
2026-06-09T03:00:38.4594557Z           "complete": false,
2026-06-09T03:00:38.4594633Z           "evidence": []
2026-06-09T03:00:38.4594710Z         },
2026-06-09T03:00:38.4594796Z         "impl": {
2026-06-09T03:00:38.4594895Z           "complete": true,
2026-06-09T03:00:38.4595011Z           "evidence": [
2026-06-09T03:00:38.4595092Z             {
2026-06-09T03:00:38.4595205Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4595291Z               "line": 107
2026-06-09T03:00:38.4595374Z             }
2026-06-09T03:00:38.4595460Z           ]
2026-06-09T03:00:38.4595539Z         },
2026-06-09T03:00:38.4595615Z         "int": {
2026-06-09T03:00:38.4595701Z           "complete": false,
2026-06-09T03:00:38.4595791Z           "evidence": []
2026-06-09T03:00:38.4595875Z         },
2026-06-09T03:00:38.4595965Z         "unit": {
2026-06-09T03:00:38.4596067Z           "complete": true,
2026-06-09T03:00:38.4596152Z           "evidence": [
2026-06-09T03:00:38.4596232Z             {
2026-06-09T03:00:38.4596342Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4596437Z               "line": 184
2026-06-09T03:00:38.4596518Z             },
2026-06-09T03:00:38.4596609Z             {
2026-06-09T03:00:38.4596729Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4596819Z               "line": 193
2026-06-09T03:00:38.4596905Z             },
2026-06-09T03:00:38.4597081Z             {
2026-06-09T03:00:38.4597219Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4597306Z               "line": 201
2026-06-09T03:00:38.4597391Z             },
2026-06-09T03:00:38.4597482Z             {
2026-06-09T03:00:38.4597607Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4597697Z               "line": 211
2026-06-09T03:00:38.4597772Z             },
2026-06-09T03:00:38.4597854Z             {
2026-06-09T03:00:38.4597965Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-09T03:00:38.4598049Z               "line": 221
2026-06-09T03:00:38.4598129Z             }
2026-06-09T03:00:38.4598214Z           ]
2026-06-09T03:00:38.4598301Z         }
2026-06-09T03:00:38.4598380Z       }
2026-06-09T03:00:38.4598475Z     },
2026-06-09T03:00:38.4598566Z     {
2026-06-09T03:00:38.4598680Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-09T03:00:38.4598837Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-09T03:00:38.4598929Z       "requiredStages": [
2026-06-09T03:00:38.4599014Z         "impl",
2026-06-09T03:00:38.4599099Z         "unit"
2026-06-09T03:00:38.4599180Z       ],
2026-06-09T03:00:38.4599263Z       "stages": {
2026-06-09T03:00:38.4599348Z         "doc": {
2026-06-09T03:00:38.4599438Z           "complete": false,
2026-06-09T03:00:38.4599524Z           "evidence": []
2026-06-09T03:00:38.4599610Z         },
2026-06-09T03:00:38.4599691Z         "impl": {
2026-06-09T03:00:38.4599781Z           "complete": true,
2026-06-09T03:00:38.4599863Z           "evidence": [
2026-06-09T03:00:38.4599948Z             {
2026-06-09T03:00:38.4600053Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.4600139Z               "line": 14
2026-06-09T03:00:38.4600221Z             },
2026-06-09T03:00:38.4600483Z             {
2026-06-09T03:00:38.4600592Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.4600672Z               "line": 62
2026-06-09T03:00:38.4600757Z             }
2026-06-09T03:00:38.4600839Z           ]
2026-06-09T03:00:38.4600919Z         },
2026-06-09T03:00:38.4601008Z         "int": {
2026-06-09T03:00:38.4601094Z           "complete": false,
2026-06-09T03:00:38.4601185Z           "evidence": []
2026-06-09T03:00:38.4601261Z         },
2026-06-09T03:00:38.4601351Z         "unit": {
2026-06-09T03:00:38.4601437Z           "complete": true,
2026-06-09T03:00:38.4601523Z           "evidence": [
2026-06-09T03:00:38.4601604Z             {
2026-06-09T03:00:38.4601704Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.4601791Z               "line": 160
2026-06-09T03:00:38.4601872Z             },
2026-06-09T03:00:38.4601952Z             {
2026-06-09T03:00:38.4602057Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.4602158Z               "line": 197
2026-06-09T03:00:38.4602253Z             },
2026-06-09T03:00:38.4602334Z             {
2026-06-09T03:00:38.4602440Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.4602520Z               "line": 219
2026-06-09T03:00:38.4602605Z             }
2026-06-09T03:00:38.4602687Z           ]
2026-06-09T03:00:38.4602764Z         }
2026-06-09T03:00:38.4602844Z       }
2026-06-09T03:00:38.4602930Z     },
2026-06-09T03:00:38.4604897Z     {
2026-06-09T03:00:38.4605027Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-09T03:00:38.4606327Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-09T03:00:38.4606454Z       "requiredStages": [],
2026-06-09T03:00:38.4606535Z       "stages": {
2026-06-09T03:00:38.4606622Z         "doc": {
2026-06-09T03:00:38.4606712Z           "complete": true,
2026-06-09T03:00:38.4606801Z           "evidence": [
2026-06-09T03:00:38.4606883Z             {
2026-06-09T03:00:38.4607093Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4607178Z               "line": 163
2026-06-09T03:00:38.4607261Z             }
2026-06-09T03:00:38.4607341Z           ]
2026-06-09T03:00:38.4607422Z         },
2026-06-09T03:00:38.4607508Z         "impl": {
2026-06-09T03:00:38.4607599Z           "complete": false,
2026-06-09T03:00:38.4607685Z           "evidence": []
2026-06-09T03:00:38.4607770Z         },
2026-06-09T03:00:38.4607852Z         "int": {
2026-06-09T03:00:38.4607942Z           "complete": false,
2026-06-09T03:00:38.4608028Z           "evidence": []
2026-06-09T03:00:38.4608109Z         },
2026-06-09T03:00:38.4608195Z         "unit": {
2026-06-09T03:00:38.4608290Z           "complete": false,
2026-06-09T03:00:38.4608385Z           "evidence": []
2026-06-09T03:00:38.4608462Z         }
2026-06-09T03:00:38.4608544Z       }
2026-06-09T03:00:38.4608628Z     },
2026-06-09T03:00:38.4608708Z     {
2026-06-09T03:00:38.4608823Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-09T03:00:38.4609030Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-09T03:00:38.4609121Z       "requiredStages": [
2026-06-09T03:00:38.4609203Z         "impl",
2026-06-09T03:00:38.4609288Z         "unit"
2026-06-09T03:00:38.4609368Z       ],
2026-06-09T03:00:38.4609455Z       "stages": {
2026-06-09T03:00:38.4609536Z         "doc": {
2026-06-09T03:00:38.4609622Z           "complete": false,
2026-06-09T03:00:38.4609712Z           "evidence": []
2026-06-09T03:00:38.4609789Z         },
2026-06-09T03:00:38.4609874Z         "impl": {
2026-06-09T03:00:38.4609960Z           "complete": true,
2026-06-09T03:00:38.4610050Z           "evidence": [
2026-06-09T03:00:38.4610351Z             {
2026-06-09T03:00:38.4610466Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4610551Z               "line": 76
2026-06-09T03:00:38.4610632Z             },
2026-06-09T03:00:38.4610714Z             {
2026-06-09T03:00:38.4610824Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4610914Z               "line": 167
2026-06-09T03:00:38.4610995Z             },
2026-06-09T03:00:38.4611072Z             {
2026-06-09T03:00:38.4611180Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4611266Z               "line": 233
2026-06-09T03:00:38.4611351Z             },
2026-06-09T03:00:38.4611428Z             {
2026-06-09T03:00:38.4611540Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4611625Z               "line": 272
2026-06-09T03:00:38.4611706Z             }
2026-06-09T03:00:38.4611789Z           ]
2026-06-09T03:00:38.4611868Z         },
2026-06-09T03:00:38.4611963Z         "int": {
2026-06-09T03:00:38.4612056Z           "complete": false,
2026-06-09T03:00:38.4612146Z           "evidence": []
2026-06-09T03:00:38.4612226Z         },
2026-06-09T03:00:38.4612308Z         "unit": {
2026-06-09T03:00:38.4612398Z           "complete": true,
2026-06-09T03:00:38.4612484Z           "evidence": [
2026-06-09T03:00:38.4612565Z             {
2026-06-09T03:00:38.4612671Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4612760Z               "line": 321
2026-06-09T03:00:38.4612841Z             },
2026-06-09T03:00:38.4612922Z             {
2026-06-09T03:00:38.4613028Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4613113Z               "line": 329
2026-06-09T03:00:38.4613199Z             },
2026-06-09T03:00:38.4613281Z             {
2026-06-09T03:00:38.4613385Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4613471Z               "line": 356
2026-06-09T03:00:38.4613547Z             },
2026-06-09T03:00:38.4613639Z             {
2026-06-09T03:00:38.4613756Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4613843Z               "line": 395
2026-06-09T03:00:38.4613930Z             },
2026-06-09T03:00:38.4614010Z             {
2026-06-09T03:00:38.4614119Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4614204Z               "line": 406
2026-06-09T03:00:38.4614286Z             },
2026-06-09T03:00:38.4614362Z             {
2026-06-09T03:00:38.4614471Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4614562Z               "line": 418
2026-06-09T03:00:38.4614644Z             },
2026-06-09T03:00:38.4614724Z             {
2026-06-09T03:00:38.4614828Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-09T03:00:38.4614916Z               "line": 442
2026-06-09T03:00:38.4614996Z             }
2026-06-09T03:00:38.4615076Z           ]
2026-06-09T03:00:38.4615162Z         }
2026-06-09T03:00:38.4615245Z       }
2026-06-09T03:00:38.4615334Z     },
2026-06-09T03:00:38.4615420Z     {
2026-06-09T03:00:38.4615525Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-09T03:00:38.4615663Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-09T03:00:38.4615754Z       "requiredStages": [
2026-06-09T03:00:38.4615840Z         "impl",
2026-06-09T03:00:38.4615921Z         "int"
2026-06-09T03:00:38.4616002Z       ],
2026-06-09T03:00:38.4616083Z       "stages": {
2026-06-09T03:00:38.4616165Z         "doc": {
2026-06-09T03:00:38.4616251Z           "complete": false,
2026-06-09T03:00:38.4616340Z           "evidence": []
2026-06-09T03:00:38.4616421Z         },
2026-06-09T03:00:38.4616504Z         "impl": {
2026-06-09T03:00:38.4616594Z           "complete": true,
2026-06-09T03:00:38.4616678Z           "evidence": [
2026-06-09T03:00:38.4616763Z             {
2026-06-09T03:00:38.4616873Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4617042Z               "line": 22
2026-06-09T03:00:38.4617124Z             }
2026-06-09T03:00:38.4617305Z           ]
2026-06-09T03:00:38.4617473Z         },
2026-06-09T03:00:38.4617558Z         "int": {
2026-06-09T03:00:38.4617648Z           "complete": true,
2026-06-09T03:00:38.4617729Z           "evidence": [
2026-06-09T03:00:38.4617811Z             {
2026-06-09T03:00:38.4617934Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-09T03:00:38.4618015Z               "line": 18
2026-06-09T03:00:38.4618098Z             }
2026-06-09T03:00:38.4618178Z           ]
2026-06-09T03:00:38.4618259Z         },
2026-06-09T03:00:38.4618339Z         "unit": {
2026-06-09T03:00:38.4618431Z           "complete": false,
2026-06-09T03:00:38.4618521Z           "evidence": []
2026-06-09T03:00:38.4618598Z         }
2026-06-09T03:00:38.4618678Z       }
2026-06-09T03:00:38.4618760Z     },
2026-06-09T03:00:38.4618840Z     {
2026-06-09T03:00:38.4618955Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-09T03:00:38.4619132Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-09T03:00:38.4619235Z       "requiredStages": [
2026-06-09T03:00:38.4619316Z         "impl",
2026-06-09T03:00:38.4619397Z         "unit"
2026-06-09T03:00:38.4619478Z       ],
2026-06-09T03:00:38.4619561Z       "stages": {
2026-06-09T03:00:38.4619643Z         "doc": {
2026-06-09T03:00:38.4619729Z           "complete": false,
2026-06-09T03:00:38.4619820Z           "evidence": []
2026-06-09T03:00:38.4619900Z         },
2026-06-09T03:00:38.4619981Z         "impl": {
2026-06-09T03:00:38.4620068Z           "complete": true,
2026-06-09T03:00:38.4620154Z           "evidence": [
2026-06-09T03:00:38.4620233Z             {
2026-06-09T03:00:38.4620354Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4620444Z               "line": 372
2026-06-09T03:00:38.4620525Z             },
2026-06-09T03:00:38.4620606Z             {
2026-06-09T03:00:38.4620712Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4620797Z               "line": 27
2026-06-09T03:00:38.4620882Z             }
2026-06-09T03:00:38.4620970Z           ]
2026-06-09T03:00:38.4621055Z         },
2026-06-09T03:00:38.4621135Z         "int": {
2026-06-09T03:00:38.4621226Z           "complete": false,
2026-06-09T03:00:38.4621308Z           "evidence": []
2026-06-09T03:00:38.4621393Z         },
2026-06-09T03:00:38.4621474Z         "unit": {
2026-06-09T03:00:38.4621565Z           "complete": true,
2026-06-09T03:00:38.4621652Z           "evidence": [
2026-06-09T03:00:38.4621731Z             {
2026-06-09T03:00:38.4621845Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4621931Z               "line": 817
2026-06-09T03:00:38.4622011Z             },
2026-06-09T03:00:38.4622090Z             {
2026-06-09T03:00:38.4622199Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4622286Z               "line": 181
2026-06-09T03:00:38.4622368Z             }
2026-06-09T03:00:38.4622447Z           ]
2026-06-09T03:00:38.4622528Z         }
2026-06-09T03:00:38.4622621Z       }
2026-06-09T03:00:38.4622711Z     },
2026-06-09T03:00:38.4622795Z     {
2026-06-09T03:00:38.4622906Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-09T03:00:38.4623058Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-09T03:00:38.4623149Z       "requiredStages": [
2026-06-09T03:00:38.4623231Z         "impl",
2026-06-09T03:00:38.4623316Z         "unit"
2026-06-09T03:00:38.4623392Z       ],
2026-06-09T03:00:38.4623478Z       "stages": {
2026-06-09T03:00:38.4623565Z         "doc": {
2026-06-09T03:00:38.4623654Z           "complete": false,
2026-06-09T03:00:38.4623740Z           "evidence": []
2026-06-09T03:00:38.4623822Z         },
2026-06-09T03:00:38.4623904Z         "impl": {
2026-06-09T03:00:38.4623992Z           "complete": true,
2026-06-09T03:00:38.4624078Z           "evidence": [
2026-06-09T03:00:38.4624156Z             {
2026-06-09T03:00:38.4624265Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4624350Z               "line": 20
2026-06-09T03:00:38.4624509Z             },
2026-06-09T03:00:38.4624674Z             {
2026-06-09T03:00:38.4624783Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4624870Z               "line": 100
2026-06-09T03:00:38.4624955Z             },
2026-06-09T03:00:38.4625036Z             {
2026-06-09T03:00:38.4625151Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-09T03:00:38.4625232Z               "line": 68
2026-06-09T03:00:38.4625317Z             },
2026-06-09T03:00:38.4625398Z             {
2026-06-09T03:00:38.4625513Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-09T03:00:38.4625599Z               "line": 80
2026-06-09T03:00:38.4625680Z             }
2026-06-09T03:00:38.4625761Z           ]
2026-06-09T03:00:38.4625842Z         },
2026-06-09T03:00:38.4625928Z         "int": {
2026-06-09T03:00:38.4626018Z           "complete": false,
2026-06-09T03:00:38.4626105Z           "evidence": []
2026-06-09T03:00:38.4626185Z         },
2026-06-09T03:00:38.4626271Z         "unit": {
2026-06-09T03:00:38.4626366Z           "complete": true,
2026-06-09T03:00:38.4626454Z           "evidence": [
2026-06-09T03:00:38.4626533Z             {
2026-06-09T03:00:38.4626643Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4626730Z               "line": 152
2026-06-09T03:00:38.4626811Z             },
2026-06-09T03:00:38.4626886Z             {
2026-06-09T03:00:38.4627083Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4627168Z               "line": 175
2026-06-09T03:00:38.4627248Z             },
2026-06-09T03:00:38.4627328Z             {
2026-06-09T03:00:38.4627433Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4627522Z               "line": 186
2026-06-09T03:00:38.4627602Z             },
2026-06-09T03:00:38.4627684Z             {
2026-06-09T03:00:38.4627789Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4627874Z               "line": 202
2026-06-09T03:00:38.4627960Z             },
2026-06-09T03:00:38.4628052Z             {
2026-06-09T03:00:38.4628161Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-09T03:00:38.4628241Z               "line": 216
2026-06-09T03:00:38.4628323Z             },
2026-06-09T03:00:38.4628399Z             {
2026-06-09T03:00:38.4628514Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-09T03:00:38.4628599Z               "line": 137
2026-06-09T03:00:38.4628677Z             }
2026-06-09T03:00:38.4628757Z           ]
2026-06-09T03:00:38.4628838Z         }
2026-06-09T03:00:38.4628919Z       }
2026-06-09T03:00:38.4628996Z     },
2026-06-09T03:00:38.4629076Z     {
2026-06-09T03:00:38.4629172Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-09T03:00:38.4629405Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-09T03:00:38.4629496Z       "requiredStages": [
2026-06-09T03:00:38.4629573Z         "impl",
2026-06-09T03:00:38.4629654Z         "unit"
2026-06-09T03:00:38.4629743Z       ],
2026-06-09T03:00:38.4629838Z       "stages": {
2026-06-09T03:00:38.4629919Z         "doc": {
2026-06-09T03:00:38.4630004Z           "complete": true,
2026-06-09T03:00:38.4630094Z           "evidence": [
2026-06-09T03:00:38.4630169Z             {
2026-06-09T03:00:38.4630275Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4630360Z               "line": 131
2026-06-09T03:00:38.4630441Z             }
2026-06-09T03:00:38.4630517Z           ]
2026-06-09T03:00:38.4630599Z         },
2026-06-09T03:00:38.4630680Z         "impl": {
2026-06-09T03:00:38.4630766Z           "complete": true,
2026-06-09T03:00:38.4630851Z           "evidence": [
2026-06-09T03:00:38.4630928Z             {
2026-06-09T03:00:38.4631038Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.4631118Z               "line": 65
2026-06-09T03:00:38.4631195Z             },
2026-06-09T03:00:38.4631277Z             {
2026-06-09T03:00:38.4631386Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4631648Z               "line": 17
2026-06-09T03:00:38.4631729Z             },
2026-06-09T03:00:38.4631805Z             {
2026-06-09T03:00:38.4631911Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4632000Z               "line": 217
2026-06-09T03:00:38.4632081Z             },
2026-06-09T03:00:38.4632159Z             {
2026-06-09T03:00:38.4632268Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4632347Z               "line": 317
2026-06-09T03:00:38.4632428Z             },
2026-06-09T03:00:38.4632510Z             {
2026-06-09T03:00:38.4632618Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4632702Z               "line": 32
2026-06-09T03:00:38.4632779Z             },
2026-06-09T03:00:38.4632861Z             {
2026-06-09T03:00:38.4632961Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4633046Z               "line": 4085
2026-06-09T03:00:38.4633128Z             },
2026-06-09T03:00:38.4633209Z             {
2026-06-09T03:00:38.4633318Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4633399Z               "line": 4353
2026-06-09T03:00:38.4633481Z             }
2026-06-09T03:00:38.4633556Z           ]
2026-06-09T03:00:38.4633637Z         },
2026-06-09T03:00:38.4633718Z         "int": {
2026-06-09T03:00:38.4633805Z           "complete": false,
2026-06-09T03:00:38.4633890Z           "evidence": []
2026-06-09T03:00:38.4633966Z         },
2026-06-09T03:00:38.4634047Z         "unit": {
2026-06-09T03:00:38.4634135Z           "complete": true,
2026-06-09T03:00:38.4634219Z           "evidence": [
2026-06-09T03:00:38.4634305Z             {
2026-06-09T03:00:38.4634406Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4634487Z               "line": 94
2026-06-09T03:00:38.4634567Z             },
2026-06-09T03:00:38.4634648Z             {
2026-06-09T03:00:38.4634745Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4634830Z               "line": 111
2026-06-09T03:00:38.4634929Z             },
2026-06-09T03:00:38.4635006Z             {
2026-06-09T03:00:38.4635108Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4635191Z               "line": 124
2026-06-09T03:00:38.4635272Z             },
2026-06-09T03:00:38.4635348Z             {
2026-06-09T03:00:38.4635449Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4635534Z               "line": 134
2026-06-09T03:00:38.4635615Z             },
2026-06-09T03:00:38.4635692Z             {
2026-06-09T03:00:38.4635792Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4635877Z               "line": 144
2026-06-09T03:00:38.4635963Z             },
2026-06-09T03:00:38.4636050Z             {
2026-06-09T03:00:38.4636155Z               "path": "crates/spt-proto/src/id.rs",
2026-06-09T03:00:38.4636235Z               "line": 156
2026-06-09T03:00:38.4636317Z             },
2026-06-09T03:00:38.4636398Z             {
2026-06-09T03:00:38.4636521Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4636622Z               "line": 714
2026-06-09T03:00:38.4636699Z             }
2026-06-09T03:00:38.4636779Z           ]
2026-06-09T03:00:38.4636860Z         }
2026-06-09T03:00:38.4637037Z       }
2026-06-09T03:00:38.4637117Z     },
2026-06-09T03:00:38.4637198Z     {
2026-06-09T03:00:38.4637304Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-09T03:00:38.4637427Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-09T03:00:38.4637518Z       "requiredStages": [
2026-06-09T03:00:38.4637600Z         "impl",
2026-06-09T03:00:38.4637681Z         "unit"
2026-06-09T03:00:38.4637760Z       ],
2026-06-09T03:00:38.4637841Z       "stages": {
2026-06-09T03:00:38.4637922Z         "doc": {
2026-06-09T03:00:38.4638012Z           "complete": false,
2026-06-09T03:00:38.4638096Z           "evidence": []
2026-06-09T03:00:38.4638176Z         },
2026-06-09T03:00:38.4638263Z         "impl": {
2026-06-09T03:00:38.4638345Z           "complete": true,
2026-06-09T03:00:38.4638612Z           "evidence": [
2026-06-09T03:00:38.4638693Z             {
2026-06-09T03:00:38.4638802Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.4638888Z               "line": 128
2026-06-09T03:00:38.4638964Z             }
2026-06-09T03:00:38.4639045Z           ]
2026-06-09T03:00:38.4639126Z         },
2026-06-09T03:00:38.4639208Z         "int": {
2026-06-09T03:00:38.4639293Z           "complete": false,
2026-06-09T03:00:38.4639383Z           "evidence": []
2026-06-09T03:00:38.4639464Z         },
2026-06-09T03:00:38.4639547Z         "unit": {
2026-06-09T03:00:38.4639631Z           "complete": true,
2026-06-09T03:00:38.4639713Z           "evidence": [
2026-06-09T03:00:38.4639798Z             {
2026-06-09T03:00:38.4639904Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.4639989Z               "line": 205
2026-06-09T03:00:38.4640070Z             }
2026-06-09T03:00:38.4640147Z           ]
2026-06-09T03:00:38.4640229Z         }
2026-06-09T03:00:38.4640317Z       }
2026-06-09T03:00:38.4640398Z     },
2026-06-09T03:00:38.4640479Z     {
2026-06-09T03:00:38.4640588Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-09T03:00:38.4640739Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-09T03:00:38.4640830Z       "requiredStages": [
2026-06-09T03:00:38.4640912Z         "impl",
2026-06-09T03:00:38.4640992Z         "unit"
2026-06-09T03:00:38.4641072Z       ],
2026-06-09T03:00:38.4641155Z       "stages": {
2026-06-09T03:00:38.4641236Z         "doc": {
2026-06-09T03:00:38.4641326Z           "complete": false,
2026-06-09T03:00:38.4641407Z           "evidence": []
2026-06-09T03:00:38.4641488Z         },
2026-06-09T03:00:38.4641569Z         "impl": {
2026-06-09T03:00:38.4641659Z           "complete": true,
2026-06-09T03:00:38.4641745Z           "evidence": [
2026-06-09T03:00:38.4641827Z             {
2026-06-09T03:00:38.4641932Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4642026Z               "line": 246
2026-06-09T03:00:38.4642113Z             },
2026-06-09T03:00:38.4642189Z             {
2026-06-09T03:00:38.4642294Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4642380Z               "line": 257
2026-06-09T03:00:38.4642457Z             },
2026-06-09T03:00:38.4642541Z             {
2026-06-09T03:00:38.4642637Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4642724Z               "line": 275
2026-06-09T03:00:38.4642800Z             }
2026-06-09T03:00:38.4642884Z           ]
2026-06-09T03:00:38.4642960Z         },
2026-06-09T03:00:38.4643041Z         "int": {
2026-06-09T03:00:38.4643131Z           "complete": false,
2026-06-09T03:00:38.4643216Z           "evidence": []
2026-06-09T03:00:38.4643296Z         },
2026-06-09T03:00:38.4643378Z         "unit": {
2026-06-09T03:00:38.4643464Z           "complete": true,
2026-06-09T03:00:38.4643554Z           "evidence": [
2026-06-09T03:00:38.4643639Z             {
2026-06-09T03:00:38.4643755Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4643845Z               "line": 299
2026-06-09T03:00:38.4643925Z             },
2026-06-09T03:00:38.4644002Z             {
2026-06-09T03:00:38.4644107Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4644193Z               "line": 320
2026-06-09T03:00:38.4644279Z             },
2026-06-09T03:00:38.4644356Z             {
2026-06-09T03:00:38.4644459Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4644541Z               "line": 547
2026-06-09T03:00:38.4644622Z             },
2026-06-09T03:00:38.4644699Z             {
2026-06-09T03:00:38.4644802Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4644889Z               "line": 558
2026-06-09T03:00:38.4644971Z             },
2026-06-09T03:00:38.4645047Z             {
2026-06-09T03:00:38.4645151Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4645237Z               "line": 571
2026-06-09T03:00:38.4645390Z             }
2026-06-09T03:00:38.4645533Z           ]
2026-06-09T03:00:38.4645615Z         }
2026-06-09T03:00:38.4645696Z       }
2026-06-09T03:00:38.4645775Z     },
2026-06-09T03:00:38.4645856Z     {
2026-06-09T03:00:38.4645961Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-09T03:00:38.4649367Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-09T03:00:38.4649482Z       "requiredStages": [
2026-06-09T03:00:38.4649567Z         "impl",
2026-06-09T03:00:38.4649648Z         "unit"
2026-06-09T03:00:38.4649729Z       ],
2026-06-09T03:00:38.4649811Z       "stages": {
2026-06-09T03:00:38.4649891Z         "doc": {
2026-06-09T03:00:38.4649986Z           "complete": false,
2026-06-09T03:00:38.4650078Z           "evidence": []
2026-06-09T03:00:38.4650154Z         },
2026-06-09T03:00:38.4650239Z         "impl": {
2026-06-09T03:00:38.4650344Z           "complete": true,
2026-06-09T03:00:38.4650431Z           "evidence": [
2026-06-09T03:00:38.4650511Z             {
2026-06-09T03:00:38.4650645Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4650732Z               "line": 714
2026-06-09T03:00:38.4650807Z             }
2026-06-09T03:00:38.4650887Z           ]
2026-06-09T03:00:38.4650967Z         },
2026-06-09T03:00:38.4651049Z         "int": {
2026-06-09T03:00:38.4651134Z           "complete": false,
2026-06-09T03:00:38.4651223Z           "evidence": []
2026-06-09T03:00:38.4651303Z         },
2026-06-09T03:00:38.4651385Z         "unit": {
2026-06-09T03:00:38.4651472Z           "complete": true,
2026-06-09T03:00:38.4651552Z           "evidence": [
2026-06-09T03:00:38.4651632Z             {
2026-06-09T03:00:38.4651753Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4651838Z               "line": 828
2026-06-09T03:00:38.4651919Z             }
2026-06-09T03:00:38.4652000Z           ]
2026-06-09T03:00:38.4652086Z         }
2026-06-09T03:00:38.4652163Z       }
2026-06-09T03:00:38.4652243Z     },
2026-06-09T03:00:38.4652320Z     {
2026-06-09T03:00:38.4652425Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-09T03:00:38.4652630Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-09T03:00:38.4652716Z       "requiredStages": [
2026-06-09T03:00:38.4652801Z         "impl",
2026-06-09T03:00:38.4652878Z         "unit"
2026-06-09T03:00:38.4652959Z       ],
2026-06-09T03:00:38.4653041Z       "stages": {
2026-06-09T03:00:38.4653121Z         "doc": {
2026-06-09T03:00:38.4653211Z           "complete": false,
2026-06-09T03:00:38.4653299Z           "evidence": []
2026-06-09T03:00:38.4653379Z         },
2026-06-09T03:00:38.4653459Z         "impl": {
2026-06-09T03:00:38.4653549Z           "complete": true,
2026-06-09T03:00:38.4653630Z           "evidence": [
2026-06-09T03:00:38.4653710Z             {
2026-06-09T03:00:38.4653832Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4653923Z               "line": 14
2026-06-09T03:00:38.4654005Z             },
2026-06-09T03:00:38.4654081Z             {
2026-06-09T03:00:38.4654190Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.4654272Z               "line": 411
2026-06-09T03:00:38.4654353Z             }
2026-06-09T03:00:38.4654433Z           ]
2026-06-09T03:00:38.4654514Z         },
2026-06-09T03:00:38.4654591Z         "int": {
2026-06-09T03:00:38.4654677Z           "complete": false,
2026-06-09T03:00:38.4654762Z           "evidence": []
2026-06-09T03:00:38.4654843Z         },
2026-06-09T03:00:38.4654925Z         "unit": {
2026-06-09T03:00:38.4655011Z           "complete": true,
2026-06-09T03:00:38.4655091Z           "evidence": [
2026-06-09T03:00:38.4655168Z             {
2026-06-09T03:00:38.4655269Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4655353Z               "line": 130
2026-06-09T03:00:38.4655430Z             },
2026-06-09T03:00:38.4655759Z             {
2026-06-09T03:00:38.4655865Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4655946Z               "line": 138
2026-06-09T03:00:38.4656025Z             },
2026-06-09T03:00:38.4656102Z             {
2026-06-09T03:00:38.4656208Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4656293Z               "line": 146
2026-06-09T03:00:38.4656373Z             },
2026-06-09T03:00:38.4656453Z             {
2026-06-09T03:00:38.4656555Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4656664Z               "line": 154
2026-06-09T03:00:38.4656744Z             },
2026-06-09T03:00:38.4656826Z             {
2026-06-09T03:00:38.4656922Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4657107Z               "line": 162
2026-06-09T03:00:38.4657184Z             },
2026-06-09T03:00:38.4657261Z             {
2026-06-09T03:00:38.4657364Z               "path": "crates/spt/src/api/auth.rs",
2026-06-09T03:00:38.4657452Z               "line": 170
2026-06-09T03:00:38.4657542Z             }
2026-06-09T03:00:38.4657628Z           ]
2026-06-09T03:00:38.4657703Z         }
2026-06-09T03:00:38.4657785Z       }
2026-06-09T03:00:38.4657861Z     },
2026-06-09T03:00:38.4657942Z     {
2026-06-09T03:00:38.4658047Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-09T03:00:38.4658928Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-09T03:00:38.4659028Z       "requiredStages": [
2026-06-09T03:00:38.4659109Z         "impl",
2026-06-09T03:00:38.4659193Z         "unit"
2026-06-09T03:00:38.4659273Z       ],
2026-06-09T03:00:38.4659360Z       "stages": {
2026-06-09T03:00:38.4659436Z         "doc": {
2026-06-09T03:00:38.4659531Z           "complete": false,
2026-06-09T03:00:38.4659626Z           "evidence": []
2026-06-09T03:00:38.4659718Z         },
2026-06-09T03:00:38.4659798Z         "impl": {
2026-06-09T03:00:38.4659888Z           "complete": true,
2026-06-09T03:00:38.4659989Z           "evidence": [
2026-06-09T03:00:38.4660066Z             {
2026-06-09T03:00:38.4660198Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4660284Z               "line": 34
2026-06-09T03:00:38.4660367Z             }
2026-06-09T03:00:38.4660471Z           ]
2026-06-09T03:00:38.4660551Z         },
2026-06-09T03:00:38.4660633Z         "int": {
2026-06-09T03:00:38.4660724Z           "complete": false,
2026-06-09T03:00:38.4660809Z           "evidence": []
2026-06-09T03:00:38.4660890Z         },
2026-06-09T03:00:38.4660967Z         "unit": {
2026-06-09T03:00:38.4661057Z           "complete": true,
2026-06-09T03:00:38.4661143Z           "evidence": [
2026-06-09T03:00:38.4661224Z             {
2026-06-09T03:00:38.4661354Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4661452Z               "line": 188
2026-06-09T03:00:38.4661537Z             },
2026-06-09T03:00:38.4661614Z             {
2026-06-09T03:00:38.4661745Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4661831Z               "line": 200
2026-06-09T03:00:38.4661912Z             },
2026-06-09T03:00:38.4661989Z             {
2026-06-09T03:00:38.4662117Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4662202Z               "line": 211
2026-06-09T03:00:38.4662285Z             },
2026-06-09T03:00:38.4662365Z             {
2026-06-09T03:00:38.4662489Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4662580Z               "line": 253
2026-06-09T03:00:38.4662661Z             },
2026-06-09T03:00:38.4662741Z             {
2026-06-09T03:00:38.4662875Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4662961Z               "line": 277
2026-06-09T03:00:38.4663229Z             },
2026-06-09T03:00:38.4663309Z             {
2026-06-09T03:00:38.4663443Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4663529Z               "line": 300
2026-06-09T03:00:38.4663610Z             },
2026-06-09T03:00:38.4663690Z             {
2026-06-09T03:00:38.4663815Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-09T03:00:38.4663901Z               "line": 316
2026-06-09T03:00:38.4663976Z             }
2026-06-09T03:00:38.4664056Z           ]
2026-06-09T03:00:38.4664137Z         }
2026-06-09T03:00:38.4664219Z       }
2026-06-09T03:00:38.4664307Z     },
2026-06-09T03:00:38.4664388Z     {
2026-06-09T03:00:38.4664498Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-09T03:00:38.4665003Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-09T03:00:38.4665108Z       "requiredStages": [
2026-06-09T03:00:38.4665194Z         "impl",
2026-06-09T03:00:38.4665280Z         "unit"
2026-06-09T03:00:38.4665360Z       ],
2026-06-09T03:00:38.4665442Z       "stages": {
2026-06-09T03:00:38.4665523Z         "doc": {
2026-06-09T03:00:38.4665614Z           "complete": false,
2026-06-09T03:00:38.4665704Z           "evidence": []
2026-06-09T03:00:38.4665786Z         },
2026-06-09T03:00:38.4665867Z         "impl": {
2026-06-09T03:00:38.4665957Z           "complete": true,
2026-06-09T03:00:38.4666043Z           "evidence": [
2026-06-09T03:00:38.4666124Z             {
2026-06-09T03:00:38.4666238Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4666333Z               "line": 29
2026-06-09T03:00:38.4666416Z             },
2026-06-09T03:00:38.4666491Z             {
2026-06-09T03:00:38.4666629Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4666716Z               "line": 174
2026-06-09T03:00:38.4666806Z             },
2026-06-09T03:00:38.4666900Z             {
2026-06-09T03:00:38.4667091Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4667182Z               "line": 194
2026-06-09T03:00:38.4667257Z             },
2026-06-09T03:00:38.4667343Z             {
2026-06-09T03:00:38.4667449Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4667534Z               "line": 222
2026-06-09T03:00:38.4667614Z             }
2026-06-09T03:00:38.4667692Z           ]
2026-06-09T03:00:38.4667773Z         },
2026-06-09T03:00:38.4667854Z         "int": {
2026-06-09T03:00:38.4667944Z           "complete": false,
2026-06-09T03:00:38.4668031Z           "evidence": []
2026-06-09T03:00:38.4668111Z         },
2026-06-09T03:00:38.4668192Z         "unit": {
2026-06-09T03:00:38.4668278Z           "complete": true,
2026-06-09T03:00:38.4668364Z           "evidence": [
2026-06-09T03:00:38.4668445Z             {
2026-06-09T03:00:38.4668554Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4668651Z               "line": 329
2026-06-09T03:00:38.4668727Z             },
2026-06-09T03:00:38.4668806Z             {
2026-06-09T03:00:38.4668912Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4669004Z               "line": 344
2026-06-09T03:00:38.4669084Z             },
2026-06-09T03:00:38.4669164Z             {
2026-06-09T03:00:38.4669266Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4669352Z               "line": 417
2026-06-09T03:00:38.4669431Z             },
2026-06-09T03:00:38.4669512Z             {
2026-06-09T03:00:38.4669617Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4669702Z               "line": 433
2026-06-09T03:00:38.4669781Z             },
2026-06-09T03:00:38.4669857Z             {
2026-06-09T03:00:38.4669968Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4670054Z               "line": 492
2026-06-09T03:00:38.4670235Z             },
2026-06-09T03:00:38.4672648Z             {
2026-06-09T03:00:38.4672806Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4672897Z               "line": 506
2026-06-09T03:00:38.4672982Z             },
2026-06-09T03:00:38.4673067Z             {
2026-06-09T03:00:38.4673193Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4673278Z               "line": 517
2026-06-09T03:00:38.4673363Z             },
2026-06-09T03:00:38.4673445Z             {
2026-06-09T03:00:38.4673569Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4673654Z               "line": 528
2026-06-09T03:00:38.4673736Z             }
2026-06-09T03:00:38.4673818Z           ]
2026-06-09T03:00:38.4673898Z         }
2026-06-09T03:00:38.4673983Z       }
2026-06-09T03:00:38.4674060Z     },
2026-06-09T03:00:38.4674142Z     {
2026-06-09T03:00:38.4674265Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-09T03:00:38.4674934Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-09T03:00:38.4675053Z       "requiredStages": [
2026-06-09T03:00:38.4675140Z         "impl",
2026-06-09T03:00:38.4675220Z         "unit"
2026-06-09T03:00:38.4675300Z       ],
2026-06-09T03:00:38.4675387Z       "stages": {
2026-06-09T03:00:38.4675473Z         "doc": {
2026-06-09T03:00:38.4675563Z           "complete": false,
2026-06-09T03:00:38.4675654Z           "evidence": []
2026-06-09T03:00:38.4675731Z         },
2026-06-09T03:00:38.4675816Z         "impl": {
2026-06-09T03:00:38.4675906Z           "complete": true,
2026-06-09T03:00:38.4675997Z           "evidence": [
2026-06-09T03:00:38.4676083Z             {
2026-06-09T03:00:38.4676226Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4676312Z               "line": 27
2026-06-09T03:00:38.4676393Z             },
2026-06-09T03:00:38.4676483Z             {
2026-06-09T03:00:38.4676622Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4676708Z               "line": 110
2026-06-09T03:00:38.4676793Z             },
2026-06-09T03:00:38.4676870Z             {
2026-06-09T03:00:38.4677089Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4677179Z               "line": 153
2026-06-09T03:00:38.4677257Z             },
2026-06-09T03:00:38.4677343Z             {
2026-06-09T03:00:38.4677470Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4677555Z               "line": 182
2026-06-09T03:00:38.4677637Z             },
2026-06-09T03:00:38.4677718Z             {
2026-06-09T03:00:38.4677855Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4677947Z               "line": 31
2026-06-09T03:00:38.4678023Z             },
2026-06-09T03:00:38.4678108Z             {
2026-06-09T03:00:38.4678242Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4678348Z               "line": 113
2026-06-09T03:00:38.4678428Z             },
2026-06-09T03:00:38.4678508Z             {
2026-06-09T03:00:38.4678648Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4678729Z               "line": 138
2026-06-09T03:00:38.4678813Z             }
2026-06-09T03:00:38.4678896Z           ]
2026-06-09T03:00:38.4678977Z         },
2026-06-09T03:00:38.4679057Z         "int": {
2026-06-09T03:00:38.4679148Z           "complete": false,
2026-06-09T03:00:38.4679235Z           "evidence": []
2026-06-09T03:00:38.4679315Z         },
2026-06-09T03:00:38.4679396Z         "unit": {
2026-06-09T03:00:38.4679487Z           "complete": true,
2026-06-09T03:00:38.4679573Z           "evidence": [
2026-06-09T03:00:38.4679654Z             {
2026-06-09T03:00:38.4679772Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4679860Z               "line": 261
2026-06-09T03:00:38.4680067Z             },
2026-06-09T03:00:38.4680258Z             {
2026-06-09T03:00:38.4680379Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4680465Z               "line": 276
2026-06-09T03:00:38.4680543Z             },
2026-06-09T03:00:38.4680624Z             {
2026-06-09T03:00:38.4680746Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4680828Z               "line": 293
2026-06-09T03:00:38.4680914Z             },
2026-06-09T03:00:38.4680995Z             {
2026-06-09T03:00:38.4681114Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4681200Z               "line": 310
2026-06-09T03:00:38.4681286Z             },
2026-06-09T03:00:38.4681366Z             {
2026-06-09T03:00:38.4681487Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4681571Z               "line": 327
2026-06-09T03:00:38.4681652Z             },
2026-06-09T03:00:38.4681734Z             {
2026-06-09T03:00:38.4681863Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.4681958Z               "line": 366
2026-06-09T03:00:38.4682044Z             },
2026-06-09T03:00:38.4682126Z             {
2026-06-09T03:00:38.4682263Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4682349Z               "line": 179
2026-06-09T03:00:38.4682431Z             },
2026-06-09T03:00:38.4682512Z             {
2026-06-09T03:00:38.4682643Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4682729Z               "line": 194
2026-06-09T03:00:38.4682815Z             },
2026-06-09T03:00:38.4682894Z             {
2026-06-09T03:00:38.4683022Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4683105Z               "line": 204
2026-06-09T03:00:38.4683190Z             },
2026-06-09T03:00:38.4683270Z             {
2026-06-09T03:00:38.4683400Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4683495Z               "line": 259
2026-06-09T03:00:38.4683575Z             },
2026-06-09T03:00:38.4683657Z             {
2026-06-09T03:00:38.4683781Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4683871Z               "line": 269
2026-06-09T03:00:38.4683952Z             },
2026-06-09T03:00:38.4684034Z             {
2026-06-09T03:00:38.4684163Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.4684248Z               "line": 283
2026-06-09T03:00:38.4684330Z             }
2026-06-09T03:00:38.4684411Z           ]
2026-06-09T03:00:38.4684491Z         }
2026-06-09T03:00:38.4684577Z       }
2026-06-09T03:00:38.4684659Z     },
2026-06-09T03:00:38.4684744Z     {
2026-06-09T03:00:38.4684853Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-09T03:00:38.4685036Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-09T03:00:38.4685129Z       "requiredStages": [],
2026-06-09T03:00:38.4685233Z       "stages": {
2026-06-09T03:00:38.4685315Z         "doc": {
2026-06-09T03:00:38.4685404Z           "complete": false,
2026-06-09T03:00:38.4685494Z           "evidence": []
2026-06-09T03:00:38.4685575Z         },
2026-06-09T03:00:38.4685657Z         "impl": {
2026-06-09T03:00:38.4685742Z           "complete": false,
2026-06-09T03:00:38.4685828Z           "evidence": []
2026-06-09T03:00:38.4685909Z         },
2026-06-09T03:00:38.4685990Z         "int": {
2026-06-09T03:00:38.4686076Z           "complete": false,
2026-06-09T03:00:38.4686161Z           "evidence": []
2026-06-09T03:00:38.4686243Z         },
2026-06-09T03:00:38.4686324Z         "unit": {
2026-06-09T03:00:38.4686414Z           "complete": false,
2026-06-09T03:00:38.4686500Z           "evidence": []
2026-06-09T03:00:38.4686587Z         }
2026-06-09T03:00:38.4686681Z       }
2026-06-09T03:00:38.4686762Z     },
2026-06-09T03:00:38.4686843Z     {
2026-06-09T03:00:38.4687053Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-09T03:00:38.4688044Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-09T03:00:38.4688139Z       "requiredStages": [
2026-06-09T03:00:38.4688221Z         "impl",
2026-06-09T03:00:38.4688307Z         "unit"
2026-06-09T03:00:38.4688387Z       ],
2026-06-09T03:00:38.4688468Z       "stages": {
2026-06-09T03:00:38.4688550Z         "doc": {
2026-06-09T03:00:38.4688640Z           "complete": false,
2026-06-09T03:00:38.4688725Z           "evidence": []
2026-06-09T03:00:38.4688807Z         },
2026-06-09T03:00:38.4688888Z         "impl": {
2026-06-09T03:00:38.4688974Z           "complete": true,
2026-06-09T03:00:38.4689064Z           "evidence": [
2026-06-09T03:00:38.4689142Z             {
2026-06-09T03:00:38.4689269Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4689378Z               "line": 26
2026-06-09T03:00:38.4689461Z             },
2026-06-09T03:00:38.4689542Z             {
2026-06-09T03:00:38.4689661Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4689746Z               "line": 95
2026-06-09T03:00:38.4689833Z             },
2026-06-09T03:00:38.4689913Z             {
2026-06-09T03:00:38.4690023Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4690110Z               "line": 166
2026-06-09T03:00:38.4690190Z             },
2026-06-09T03:00:38.4690270Z             {
2026-06-09T03:00:38.4690386Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4690472Z               "line": 19
2026-06-09T03:00:38.4690551Z             },
2026-06-09T03:00:38.4690632Z             {
2026-06-09T03:00:38.4690742Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4690827Z               "line": 50
2026-06-09T03:00:38.4690907Z             },
2026-06-09T03:00:38.4690991Z             {
2026-06-09T03:00:38.4691108Z               "path": "crates/spt-live/src/turn.rs",
2026-06-09T03:00:38.4691193Z               "line": 18
2026-06-09T03:00:38.4691278Z             },
2026-06-09T03:00:38.4691359Z             {
2026-06-09T03:00:38.4691465Z               "path": "crates/spt-live/src/turn.rs",
2026-06-09T03:00:38.4691546Z               "line": 71
2026-06-09T03:00:38.4691626Z             },
2026-06-09T03:00:38.4691708Z             {
2026-06-09T03:00:38.4691817Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4691903Z               "line": 70
2026-06-09T03:00:38.4691979Z             }
2026-06-09T03:00:38.4692061Z           ]
2026-06-09T03:00:38.4692132Z         },
2026-06-09T03:00:38.4692213Z         "int": {
2026-06-09T03:00:38.4692294Z           "complete": false,
2026-06-09T03:00:38.4692371Z           "evidence": []
2026-06-09T03:00:38.4692447Z         },
2026-06-09T03:00:38.4692528Z         "unit": {
2026-06-09T03:00:38.4692618Z           "complete": true,
2026-06-09T03:00:38.4692761Z           "evidence": [
2026-06-09T03:00:38.4692852Z             {
2026-06-09T03:00:38.4692968Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4693053Z               "line": 289
2026-06-09T03:00:38.4693132Z             },
2026-06-09T03:00:38.4693213Z             {
2026-06-09T03:00:38.4693327Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4693412Z               "line": 308
2026-06-09T03:00:38.4693496Z             },
2026-06-09T03:00:38.4693577Z             {
2026-06-09T03:00:38.4693683Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4693778Z               "line": 336
2026-06-09T03:00:38.4693854Z             },
2026-06-09T03:00:38.4693936Z             {
2026-06-09T03:00:38.4694045Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4694135Z               "line": 399
2026-06-09T03:00:38.4694217Z             },
2026-06-09T03:00:38.4694374Z             {
2026-06-09T03:00:38.4694556Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4694642Z               "line": 410
2026-06-09T03:00:38.4694723Z             },
2026-06-09T03:00:38.4694803Z             {
2026-06-09T03:00:38.4694919Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4695003Z               "line": 441
2026-06-09T03:00:38.4695085Z             },
2026-06-09T03:00:38.4695161Z             {
2026-06-09T03:00:38.4695277Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.4695361Z               "line": 452
2026-06-09T03:00:38.4695442Z             },
2026-06-09T03:00:38.4695520Z             {
2026-06-09T03:00:38.4695629Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4695713Z               "line": 77
2026-06-09T03:00:38.4695793Z             },
2026-06-09T03:00:38.4695875Z             {
2026-06-09T03:00:38.4695983Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4696078Z               "line": 97
2026-06-09T03:00:38.4696164Z             },
2026-06-09T03:00:38.4696245Z             {
2026-06-09T03:00:38.4696359Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4696444Z               "line": 112
2026-06-09T03:00:38.4696522Z             },
2026-06-09T03:00:38.4696608Z             {
2026-06-09T03:00:38.4696736Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4696817Z               "line": 123
2026-06-09T03:00:38.4696898Z             },
2026-06-09T03:00:38.4697069Z             {
2026-06-09T03:00:38.4697176Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4697260Z               "line": 130
2026-06-09T03:00:38.4697341Z             },
2026-06-09T03:00:38.4697423Z             {
2026-06-09T03:00:38.4697533Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-09T03:00:38.4697623Z               "line": 145
2026-06-09T03:00:38.4697699Z             },
2026-06-09T03:00:38.4697791Z             {
2026-06-09T03:00:38.4697899Z               "path": "crates/spt-live/src/turn.rs",
2026-06-09T03:00:38.4697985Z               "line": 115
2026-06-09T03:00:38.4698062Z             },
2026-06-09T03:00:38.4698144Z             {
2026-06-09T03:00:38.4698247Z               "path": "crates/spt-live/src/turn.rs",
2026-06-09T03:00:38.4698329Z               "line": 130
2026-06-09T03:00:38.4698411Z             },
2026-06-09T03:00:38.4698491Z             {
2026-06-09T03:00:38.4698600Z               "path": "crates/spt-proto/src/event.rs",
2026-06-09T03:00:38.4698685Z               "line": 336
2026-06-09T03:00:38.4698762Z             }
2026-06-09T03:00:38.4698843Z           ]
2026-06-09T03:00:38.4698923Z         }
2026-06-09T03:00:38.4699004Z       }
2026-06-09T03:00:38.4699082Z     },
2026-06-09T03:00:38.4699163Z     {
2026-06-09T03:00:38.4699276Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-09T03:00:38.4699520Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-09T03:00:38.4699619Z       "requiredStages": [
2026-06-09T03:00:38.4699702Z         "impl",
2026-06-09T03:00:38.4699791Z         "unit"
2026-06-09T03:00:38.4699872Z       ],
2026-06-09T03:00:38.4699953Z       "stages": {
2026-06-09T03:00:38.4700036Z         "doc": {
2026-06-09T03:00:38.4700125Z           "complete": true,
2026-06-09T03:00:38.4700211Z           "evidence": [
2026-06-09T03:00:38.4700287Z             {
2026-06-09T03:00:38.4700393Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4700478Z               "line": 137
2026-06-09T03:00:38.4700559Z             }
2026-06-09T03:00:38.4700641Z           ]
2026-06-09T03:00:38.4700722Z         },
2026-06-09T03:00:38.4700802Z         "impl": {
2026-06-09T03:00:38.4700893Z           "complete": true,
2026-06-09T03:00:38.4700975Z           "evidence": [
2026-06-09T03:00:38.4701056Z             {
2026-06-09T03:00:38.4701164Z               "path": "crates/spt-store/src/db.rs",
2026-06-09T03:00:38.4701249Z               "line": 29
2026-06-09T03:00:38.4701528Z             },
2026-06-09T03:00:38.4701610Z             {
2026-06-09T03:00:38.4701715Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.4701805Z               "line": 101
2026-06-09T03:00:38.4701881Z             },
2026-06-09T03:00:38.4701963Z             {
2026-06-09T03:00:38.4702082Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4702162Z               "line": 30
2026-06-09T03:00:38.4702244Z             },
2026-06-09T03:00:38.4702325Z             {
2026-06-09T03:00:38.4702439Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4702525Z               "line": 48
2026-06-09T03:00:38.4702607Z             }
2026-06-09T03:00:38.4702687Z           ]
2026-06-09T03:00:38.4702768Z         },
2026-06-09T03:00:38.4702850Z         "int": {
2026-06-09T03:00:38.4702936Z           "complete": false,
2026-06-09T03:00:38.4703016Z           "evidence": []
2026-06-09T03:00:38.4703097Z         },
2026-06-09T03:00:38.4703174Z         "unit": {
2026-06-09T03:00:38.4703265Z           "complete": true,
2026-06-09T03:00:38.4703340Z           "evidence": [
2026-06-09T03:00:38.4703417Z             {
2026-06-09T03:00:38.4703533Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4703641Z               "line": 162
2026-06-09T03:00:38.4703721Z             }
2026-06-09T03:00:38.4703806Z           ]
2026-06-09T03:00:38.4703887Z         }
2026-06-09T03:00:38.4703968Z       }
2026-06-09T03:00:38.4704047Z     },
2026-06-09T03:00:38.4704133Z     {
2026-06-09T03:00:38.4704248Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-09T03:00:38.4704610Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-09T03:00:38.4704705Z       "requiredStages": [
2026-06-09T03:00:38.4704791Z         "doc",
2026-06-09T03:00:38.4704873Z         "impl",
2026-06-09T03:00:38.4704959Z         "unit"
2026-06-09T03:00:38.4705043Z       ],
2026-06-09T03:00:38.4705135Z       "stages": {
2026-06-09T03:00:38.4705221Z         "doc": {
2026-06-09T03:00:38.4705316Z           "complete": true,
2026-06-09T03:00:38.4705402Z           "evidence": [
2026-06-09T03:00:38.4705484Z             {
2026-06-09T03:00:38.4705592Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4705673Z               "line": 149
2026-06-09T03:00:38.4705755Z             }
2026-06-09T03:00:38.4705837Z           ]
2026-06-09T03:00:38.4705916Z         },
2026-06-09T03:00:38.4705997Z         "impl": {
2026-06-09T03:00:38.4706090Z           "complete": true,
2026-06-09T03:00:38.4706175Z           "evidence": [
2026-06-09T03:00:38.4706254Z             {
2026-06-09T03:00:38.4706373Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4706459Z               "line": 22
2026-06-09T03:00:38.4706543Z             }
2026-06-09T03:00:38.4706623Z           ]
2026-06-09T03:00:38.4706704Z         },
2026-06-09T03:00:38.4706787Z         "int": {
2026-06-09T03:00:38.4706886Z           "complete": false,
2026-06-09T03:00:38.4707067Z           "evidence": []
2026-06-09T03:00:38.4707148Z         },
2026-06-09T03:00:38.4707234Z         "unit": {
2026-06-09T03:00:38.4707339Z           "complete": true,
2026-06-09T03:00:38.4707426Z           "evidence": [
2026-06-09T03:00:38.4707506Z             {
2026-06-09T03:00:38.4707620Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4707712Z               "line": 298
2026-06-09T03:00:38.4707796Z             }
2026-06-09T03:00:38.4707873Z           ]
2026-06-09T03:00:38.4707954Z         }
2026-06-09T03:00:38.4708036Z       }
2026-06-09T03:00:38.4708116Z     },
2026-06-09T03:00:38.4708197Z     {
2026-06-09T03:00:38.4708313Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-09T03:00:38.4708732Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-09T03:00:38.4708826Z       "requiredStages": [
2026-06-09T03:00:38.4709116Z         "impl",
2026-06-09T03:00:38.4709202Z         "unit"
2026-06-09T03:00:38.4709279Z       ],
2026-06-09T03:00:38.4709365Z       "stages": {
2026-06-09T03:00:38.4709445Z         "doc": {
2026-06-09T03:00:38.4709536Z           "complete": true,
2026-06-09T03:00:38.4709622Z           "evidence": [
2026-06-09T03:00:38.4709703Z             {
2026-06-09T03:00:38.4709803Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4709893Z               "line": 143
2026-06-09T03:00:38.4709971Z             }
2026-06-09T03:00:38.4710057Z           ]
2026-06-09T03:00:38.4710141Z         },
2026-06-09T03:00:38.4710223Z         "impl": {
2026-06-09T03:00:38.4710314Z           "complete": true,
2026-06-09T03:00:38.4710399Z           "evidence": [
2026-06-09T03:00:38.4710485Z             {
2026-06-09T03:00:38.4710601Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4710685Z               "line": 540
2026-06-09T03:00:38.4710766Z             },
2026-06-09T03:00:38.4710857Z             {
2026-06-09T03:00:38.4710995Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4711081Z               "line": 184
2026-06-09T03:00:38.4711162Z             },
2026-06-09T03:00:38.4711245Z             {
2026-06-09T03:00:38.4711372Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4711477Z               "line": 282
2026-06-09T03:00:38.4711560Z             },
2026-06-09T03:00:38.4711639Z             {
2026-06-09T03:00:38.4711747Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-09T03:00:38.4711838Z               "line": 15
2026-06-09T03:00:38.4711919Z             }
2026-06-09T03:00:38.4711998Z           ]
2026-06-09T03:00:38.4712078Z         },
2026-06-09T03:00:38.4712160Z         "int": {
2026-06-09T03:00:38.4712256Z           "complete": false,
2026-06-09T03:00:38.4712341Z           "evidence": []
2026-06-09T03:00:38.4712426Z         },
2026-06-09T03:00:38.4712509Z         "unit": {
2026-06-09T03:00:38.4712609Z           "complete": true,
2026-06-09T03:00:38.4712708Z           "evidence": [
2026-06-09T03:00:38.4712794Z             {
2026-06-09T03:00:38.4712914Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4712999Z               "line": 856
2026-06-09T03:00:38.4713080Z             },
2026-06-09T03:00:38.4713158Z             {
2026-06-09T03:00:38.4713286Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-09T03:00:38.4713375Z               "line": 88
2026-06-09T03:00:38.4713453Z             },
2026-06-09T03:00:38.4713534Z             {
2026-06-09T03:00:38.4713648Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4713739Z               "line": 802
2026-06-09T03:00:38.4713815Z             },
2026-06-09T03:00:38.4713900Z             {
2026-06-09T03:00:38.4714015Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4714107Z               "line": 821
2026-06-09T03:00:38.4714187Z             },
2026-06-09T03:00:38.4714276Z             {
2026-06-09T03:00:38.4714395Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4714481Z               "line": 278
2026-06-09T03:00:38.4714565Z             },
2026-06-09T03:00:38.4714645Z             {
2026-06-09T03:00:38.4714751Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-09T03:00:38.4714837Z               "line": 77
2026-06-09T03:00:38.4714918Z             },
2026-06-09T03:00:38.4714998Z             {
2026-06-09T03:00:38.4715104Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-09T03:00:38.4715190Z               "line": 94
2026-06-09T03:00:38.4715270Z             },
2026-06-09T03:00:38.4715351Z             {
2026-06-09T03:00:38.4715467Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-09T03:00:38.4715552Z               "line": 114
2026-06-09T03:00:38.4715637Z             }
2026-06-09T03:00:38.4715724Z           ]
2026-06-09T03:00:38.4715805Z         }
2026-06-09T03:00:38.4715886Z       }
2026-06-09T03:00:38.4716110Z     },
2026-06-09T03:00:38.4716191Z     {
2026-06-09T03:00:38.4716305Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-09T03:00:38.4717667Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-09T03:00:38.4717766Z       "requiredStages": [
2026-06-09T03:00:38.4717846Z         "doc",
2026-06-09T03:00:38.4717928Z         "impl",
2026-06-09T03:00:38.4718009Z         "unit"
2026-06-09T03:00:38.4718090Z       ],
2026-06-09T03:00:38.4718175Z       "stages": {
2026-06-09T03:00:38.4718257Z         "doc": {
2026-06-09T03:00:38.4718348Z           "complete": true,
2026-06-09T03:00:38.4718442Z           "evidence": [
2026-06-09T03:00:38.4718538Z             {
2026-06-09T03:00:38.4718644Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4718728Z               "line": 155
2026-06-09T03:00:38.4718810Z             }
2026-06-09T03:00:38.4718892Z           ]
2026-06-09T03:00:38.4718973Z         },
2026-06-09T03:00:38.4719057Z         "impl": {
2026-06-09T03:00:38.4719144Z           "complete": true,
2026-06-09T03:00:38.4719230Z           "evidence": [
2026-06-09T03:00:38.4719316Z             {
2026-06-09T03:00:38.4719434Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4719522Z               "line": 394
2026-06-09T03:00:38.4719603Z             },
2026-06-09T03:00:38.4719681Z             {
2026-06-09T03:00:38.4719805Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4719887Z               "line": 484
2026-06-09T03:00:38.4719973Z             },
2026-06-09T03:00:38.4720053Z             {
2026-06-09T03:00:38.4720177Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4720273Z               "line": 491
2026-06-09T03:00:38.4720353Z             },
2026-06-09T03:00:38.4720434Z             {
2026-06-09T03:00:38.4720555Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4720640Z               "line": 211
2026-06-09T03:00:38.4720721Z             }
2026-06-09T03:00:38.4720798Z           ]
2026-06-09T03:00:38.4720883Z         },
2026-06-09T03:00:38.4720964Z         "int": {
2026-06-09T03:00:38.4721054Z           "complete": false,
2026-06-09T03:00:38.4721146Z           "evidence": []
2026-06-09T03:00:38.4721231Z         },
2026-06-09T03:00:38.4721321Z         "unit": {
2026-06-09T03:00:38.4721407Z           "complete": true,
2026-06-09T03:00:38.4721495Z           "evidence": [
2026-06-09T03:00:38.4721574Z             {
2026-06-09T03:00:38.4721694Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4721785Z               "line": 1484
2026-06-09T03:00:38.4721880Z             },
2026-06-09T03:00:38.4721970Z             {
2026-06-09T03:00:38.4722086Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4722171Z               "line": 1542
2026-06-09T03:00:38.4722251Z             },
2026-06-09T03:00:38.4722331Z             {
2026-06-09T03:00:38.4722446Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4722540Z               "line": 834
2026-06-09T03:00:38.4722620Z             }
2026-06-09T03:00:38.4722706Z           ]
2026-06-09T03:00:38.4722783Z         }
2026-06-09T03:00:38.4722864Z       }
2026-06-09T03:00:38.4722949Z     },
2026-06-09T03:00:38.4723026Z     {
2026-06-09T03:00:38.4723140Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-09T03:00:38.4723321Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-09T03:00:38.4723417Z       "requiredStages": [
2026-06-09T03:00:38.4723502Z         "impl",
2026-06-09T03:00:38.4723583Z         "unit"
2026-06-09T03:00:38.4723765Z       ],
2026-06-09T03:00:38.4723936Z       "stages": {
2026-06-09T03:00:38.4724018Z         "doc": {
2026-06-09T03:00:38.4724103Z           "complete": false,
2026-06-09T03:00:38.4724189Z           "evidence": []
2026-06-09T03:00:38.4724274Z         },
2026-06-09T03:00:38.4724357Z         "impl": {
2026-06-09T03:00:38.4724446Z           "complete": true,
2026-06-09T03:00:38.4724532Z           "evidence": [
2026-06-09T03:00:38.4724614Z             {
2026-06-09T03:00:38.4724724Z               "path": "crates/spt-store/src/proc.rs",
2026-06-09T03:00:38.4724808Z               "line": 15
2026-06-09T03:00:38.4724912Z             },
2026-06-09T03:00:38.4725013Z             {
2026-06-09T03:00:38.4725125Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4725210Z               "line": 55
2026-06-09T03:00:38.4725292Z             },
2026-06-09T03:00:38.4725379Z             {
2026-06-09T03:00:38.4725492Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4725582Z               "line": 66
2026-06-09T03:00:38.4725674Z             },
2026-06-09T03:00:38.4725755Z             {
2026-06-09T03:00:38.4725863Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4725955Z               "line": 115
2026-06-09T03:00:38.4726036Z             },
2026-06-09T03:00:38.4726116Z             {
2026-06-09T03:00:38.4726226Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4726318Z               "line": 138
2026-06-09T03:00:38.4726398Z             }
2026-06-09T03:00:38.4726483Z           ]
2026-06-09T03:00:38.4726561Z         },
2026-06-09T03:00:38.4726647Z         "int": {
2026-06-09T03:00:38.4726746Z           "complete": false,
2026-06-09T03:00:38.4726837Z           "evidence": []
2026-06-09T03:00:38.4726919Z         },
2026-06-09T03:00:38.4727094Z         "unit": {
2026-06-09T03:00:38.4727180Z           "complete": true,
2026-06-09T03:00:38.4727271Z           "evidence": [
2026-06-09T03:00:38.4727356Z             {
2026-06-09T03:00:38.4727474Z               "path": "crates/spt-store/src/proc.rs",
2026-06-09T03:00:38.4727565Z               "line": 149
2026-06-09T03:00:38.4727645Z             },
2026-06-09T03:00:38.4727729Z             {
2026-06-09T03:00:38.4727839Z               "path": "crates/spt-store/src/proc.rs",
2026-06-09T03:00:38.4727921Z               "line": 155
2026-06-09T03:00:38.4728007Z             },
2026-06-09T03:00:38.4728087Z             {
2026-06-09T03:00:38.4728192Z               "path": "crates/spt-store/src/proc.rs",
2026-06-09T03:00:38.4728283Z               "line": 169
2026-06-09T03:00:38.4728364Z             },
2026-06-09T03:00:38.4728445Z             {
2026-06-09T03:00:38.4728550Z               "path": "crates/spt-store/src/proc.rs",
2026-06-09T03:00:38.4728636Z               "line": 178
2026-06-09T03:00:38.4728716Z             },
2026-06-09T03:00:38.4728798Z             {
2026-06-09T03:00:38.4728908Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4729003Z               "line": 195
2026-06-09T03:00:38.4729093Z             },
2026-06-09T03:00:38.4729176Z             {
2026-06-09T03:00:38.4729283Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4729370Z               "line": 208
2026-06-09T03:00:38.4729452Z             },
2026-06-09T03:00:38.4729533Z             {
2026-06-09T03:00:38.4729642Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4729732Z               "line": 271
2026-06-09T03:00:38.4729819Z             },
2026-06-09T03:00:38.4729899Z             {
2026-06-09T03:00:38.4730009Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4730096Z               "line": 290
2026-06-09T03:00:38.4730172Z             },
2026-06-09T03:00:38.4730256Z             {
2026-06-09T03:00:38.4730369Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4730452Z               "line": 319
2026-06-09T03:00:38.4730543Z             }
2026-06-09T03:00:38.4730623Z           ]
2026-06-09T03:00:38.4730886Z         }
2026-06-09T03:00:38.4730970Z       }
2026-06-09T03:00:38.4731052Z     },
2026-06-09T03:00:38.4731133Z     {
2026-06-09T03:00:38.4731242Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-09T03:00:38.4731505Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-09T03:00:38.4731600Z       "requiredStages": [
2026-06-09T03:00:38.4731682Z         "impl",
2026-06-09T03:00:38.4731763Z         "unit",
2026-06-09T03:00:38.4731848Z         "int"
2026-06-09T03:00:38.4731934Z       ],
2026-06-09T03:00:38.4732021Z       "stages": {
2026-06-09T03:00:38.4732106Z         "doc": {
2026-06-09T03:00:38.4732196Z           "complete": false,
2026-06-09T03:00:38.4732287Z           "evidence": []
2026-06-09T03:00:38.4732365Z         },
2026-06-09T03:00:38.4732449Z         "impl": {
2026-06-09T03:00:38.4732549Z           "complete": true,
2026-06-09T03:00:38.4732632Z           "evidence": [
2026-06-09T03:00:38.4732718Z             {
2026-06-09T03:00:38.4732849Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4732939Z               "line": 269
2026-06-09T03:00:38.4733021Z             },
2026-06-09T03:00:38.4733104Z             {
2026-06-09T03:00:38.4733213Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4733299Z               "line": 578
2026-06-09T03:00:38.4733381Z             },
2026-06-09T03:00:38.4733461Z             {
2026-06-09T03:00:38.4733571Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4733653Z               "line": 601
2026-06-09T03:00:38.4733734Z             },
2026-06-09T03:00:38.4733818Z             {
2026-06-09T03:00:38.4733924Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.4734010Z               "line": 625
2026-06-09T03:00:38.4734091Z             },
2026-06-09T03:00:38.4734172Z             {
2026-06-09T03:00:38.4734292Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4734387Z               "line": 492
2026-06-09T03:00:38.4734482Z             },
2026-06-09T03:00:38.4734559Z             {
2026-06-09T03:00:38.4734672Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4734759Z               "line": 580
2026-06-09T03:00:38.4734839Z             },
2026-06-09T03:00:38.4734922Z             {
2026-06-09T03:00:38.4735030Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4735121Z               "line": 690
2026-06-09T03:00:38.4735203Z             },
2026-06-09T03:00:38.4735284Z             {
2026-06-09T03:00:38.4735392Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.4735482Z               "line": 738
2026-06-09T03:00:38.4735568Z             },
2026-06-09T03:00:38.4735648Z             {
2026-06-09T03:00:38.4735761Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-09T03:00:38.4735842Z               "line": 46
2026-06-09T03:00:38.4735929Z             },
2026-06-09T03:00:38.4736009Z             {
2026-06-09T03:00:38.4736143Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-09T03:00:38.4736224Z               "line": 167
2026-06-09T03:00:38.4736305Z             },
2026-06-09T03:00:38.4736385Z             {
2026-06-09T03:00:38.4736491Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-09T03:00:38.4736582Z               "line": 71
2026-06-09T03:00:38.4738661Z             },
2026-06-09T03:00:38.4738762Z             {
2026-06-09T03:00:38.4738891Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4738981Z               "line": 134
2026-06-09T03:00:38.4739063Z             },
2026-06-09T03:00:38.4739144Z             {
2026-06-09T03:00:38.4739267Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4739353Z               "line": 180
2026-06-09T03:00:38.4739430Z             }
2026-06-09T03:00:38.4739510Z           ]
2026-06-09T03:00:38.4739591Z         },
2026-06-09T03:00:38.4739673Z         "int": {
2026-06-09T03:00:38.4739911Z           "complete": true,
2026-06-09T03:00:38.4740083Z           "evidence": [
2026-06-09T03:00:38.4740163Z             {
2026-06-09T03:00:38.4740297Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-09T03:00:38.4740384Z               "line": 27
2026-06-09T03:00:38.4740464Z             },
2026-06-09T03:00:38.4740545Z             {
2026-06-09T03:00:38.4740666Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-09T03:00:38.4740751Z               "line": 129
2026-06-09T03:00:38.4740835Z             },
2026-06-09T03:00:38.4740916Z             {
2026-06-09T03:00:38.4741032Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-09T03:00:38.4741117Z               "line": 200
2026-06-09T03:00:38.4741202Z             }
2026-06-09T03:00:38.4741279Z           ]
2026-06-09T03:00:38.4741360Z         },
2026-06-09T03:00:38.4741441Z         "unit": {
2026-06-09T03:00:38.4741530Z           "complete": true,
2026-06-09T03:00:38.4741613Z           "evidence": [
2026-06-09T03:00:38.4741699Z             {
2026-06-09T03:00:38.4741826Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-09T03:00:38.4741908Z               "line": 313
2026-06-09T03:00:38.4741990Z             },
2026-06-09T03:00:38.4742065Z             {
2026-06-09T03:00:38.4742174Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-09T03:00:38.4742261Z               "line": 345
2026-06-09T03:00:38.4742338Z             },
2026-06-09T03:00:38.4742418Z             {
2026-06-09T03:00:38.4742528Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-09T03:00:38.4742615Z               "line": 366
2026-06-09T03:00:38.4742694Z             },
2026-06-09T03:00:38.4742775Z             {
2026-06-09T03:00:38.4742891Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-09T03:00:38.4742972Z               "line": 254
2026-06-09T03:00:38.4743056Z             },
2026-06-09T03:00:38.4743133Z             {
2026-06-09T03:00:38.4743244Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-09T03:00:38.4743343Z               "line": 239
2026-06-09T03:00:38.4743423Z             },
2026-06-09T03:00:38.4743504Z             {
2026-06-09T03:00:38.4743614Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-09T03:00:38.4743702Z               "line": 230
2026-06-09T03:00:38.4743783Z             },
2026-06-09T03:00:38.4743859Z             {
2026-06-09T03:00:38.4743970Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4744055Z               "line": 488
2026-06-09T03:00:38.4744136Z             },
2026-06-09T03:00:38.4744214Z             {
2026-06-09T03:00:38.4744322Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.4744403Z               "line": 518
2026-06-09T03:00:38.4744485Z             }
2026-06-09T03:00:38.4744566Z           ]
2026-06-09T03:00:38.4744647Z         }
2026-06-09T03:00:38.4744727Z       }
2026-06-09T03:00:38.4744809Z     },
2026-06-09T03:00:38.4744885Z     {
2026-06-09T03:00:38.4744999Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-09T03:00:38.4745191Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-09T03:00:38.4745280Z       "requiredStages": [
2026-06-09T03:00:38.4745366Z         "impl",
2026-06-09T03:00:38.4745448Z         "unit"
2026-06-09T03:00:38.4745524Z       ],
2026-06-09T03:00:38.4745609Z       "stages": {
2026-06-09T03:00:38.4745691Z         "doc": {
2026-06-09T03:00:38.4745777Z           "complete": false,
2026-06-09T03:00:38.4745867Z           "evidence": []
2026-06-09T03:00:38.4745947Z         },
2026-06-09T03:00:38.4746027Z         "impl": {
2026-06-09T03:00:38.4746114Z           "complete": true,
2026-06-09T03:00:38.4746199Z           "evidence": [
2026-06-09T03:00:38.4746279Z             {
2026-06-09T03:00:38.4746407Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4746494Z               "line": 56
2026-06-09T03:00:38.4746574Z             },
2026-06-09T03:00:38.4746654Z             {
2026-06-09T03:00:38.4746846Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4747085Z               "line": 65
2026-06-09T03:00:38.4747165Z             },
2026-06-09T03:00:38.4747246Z             {
2026-06-09T03:00:38.4747371Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4747452Z               "line": 72
2026-06-09T03:00:38.4747537Z             },
2026-06-09T03:00:38.4747613Z             {
2026-06-09T03:00:38.4747724Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4747804Z               "line": 33
2026-06-09T03:00:38.4747885Z             },
2026-06-09T03:00:38.4747966Z             {
2026-06-09T03:00:38.4748077Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4748162Z               "line": 65
2026-06-09T03:00:38.4748243Z             },
2026-06-09T03:00:38.4748320Z             {
2026-06-09T03:00:38.4748425Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4748509Z               "line": 74
2026-06-09T03:00:38.4748609Z             },
2026-06-09T03:00:38.4748690Z             {
2026-06-09T03:00:38.4748793Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4748873Z               "line": 83
2026-06-09T03:00:38.4748954Z             },
2026-06-09T03:00:38.4749032Z             {
2026-06-09T03:00:38.4749136Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4749226Z               "line": 92
2026-06-09T03:00:38.4749303Z             },
2026-06-09T03:00:38.4749389Z             {
2026-06-09T03:00:38.4749494Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4749579Z               "line": 101
2026-06-09T03:00:38.4749661Z             },
2026-06-09T03:00:38.4749737Z             {
2026-06-09T03:00:38.4749841Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4749928Z               "line": 112
2026-06-09T03:00:38.4750004Z             },
2026-06-09T03:00:38.4750085Z             {
2026-06-09T03:00:38.4750194Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4750286Z               "line": 130
2026-06-09T03:00:38.4750366Z             },
2026-06-09T03:00:38.4750447Z             {
2026-06-09T03:00:38.4750548Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4750634Z               "line": 139
2026-06-09T03:00:38.4750714Z             },
2026-06-09T03:00:38.4750795Z             {
2026-06-09T03:00:38.4750897Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4750982Z               "line": 148
2026-06-09T03:00:38.4751062Z             },
2026-06-09T03:00:38.4751138Z             {
2026-06-09T03:00:38.4751245Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4751325Z               "line": 159
2026-06-09T03:00:38.4751404Z             },
2026-06-09T03:00:38.4751485Z             {
2026-06-09T03:00:38.4751587Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4751672Z               "line": 167
2026-06-09T03:00:38.4751752Z             },
2026-06-09T03:00:38.4751839Z             {
2026-06-09T03:00:38.4751939Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4752025Z               "line": 176
2026-06-09T03:00:38.4752105Z             },
2026-06-09T03:00:38.4752182Z             {
2026-06-09T03:00:38.4752287Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4752372Z               "line": 185
2026-06-09T03:00:38.4752453Z             },
2026-06-09T03:00:38.4752531Z             {
2026-06-09T03:00:38.4752635Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4752720Z               "line": 194
2026-06-09T03:00:38.4752797Z             },
2026-06-09T03:00:38.4752874Z             {
2026-06-09T03:00:38.4752978Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4753059Z               "line": 206
2026-06-09T03:00:38.4753137Z             },
2026-06-09T03:00:38.4753222Z             {
2026-06-09T03:00:38.4753322Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4753621Z               "line": 213
2026-06-09T03:00:38.4753703Z             },
2026-06-09T03:00:38.4753780Z             {
2026-06-09T03:00:38.4753889Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4753969Z               "line": 222
2026-06-09T03:00:38.4754049Z             },
2026-06-09T03:00:38.4754131Z             {
2026-06-09T03:00:38.4754234Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4754319Z               "line": 229
2026-06-09T03:00:38.4754396Z             },
2026-06-09T03:00:38.4754478Z             {
2026-06-09T03:00:38.4754577Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4754667Z               "line": 296
2026-06-09T03:00:38.4754744Z             },
2026-06-09T03:00:38.4754825Z             {
2026-06-09T03:00:38.4754929Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4755010Z               "line": 308
2026-06-09T03:00:38.4755103Z             },
2026-06-09T03:00:38.4755187Z             {
2026-06-09T03:00:38.4755292Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4755374Z               "line": 395
2026-06-09T03:00:38.4755455Z             }
2026-06-09T03:00:38.4755536Z           ]
2026-06-09T03:00:38.4755612Z         },
2026-06-09T03:00:38.4755693Z         "int": {
2026-06-09T03:00:38.4755784Z           "complete": false,
2026-06-09T03:00:38.4755869Z           "evidence": []
2026-06-09T03:00:38.4755950Z         },
2026-06-09T03:00:38.4756028Z         "unit": {
2026-06-09T03:00:38.4756117Z           "complete": true,
2026-06-09T03:00:38.4756194Z           "evidence": [
2026-06-09T03:00:38.4756270Z             {
2026-06-09T03:00:38.4756371Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4756469Z               "line": 477
2026-06-09T03:00:38.4756550Z             },
2026-06-09T03:00:38.4756631Z             {
2026-06-09T03:00:38.4756735Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4756834Z               "line": 518
2026-06-09T03:00:38.4756914Z             },
2026-06-09T03:00:38.4757082Z             {
2026-06-09T03:00:38.4757191Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4757273Z               "line": 531
2026-06-09T03:00:38.4757349Z             },
2026-06-09T03:00:38.4757435Z             {
2026-06-09T03:00:38.4757539Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4757621Z               "line": 617
2026-06-09T03:00:38.4757702Z             }
2026-06-09T03:00:38.4757782Z           ]
2026-06-09T03:00:38.4757859Z         }
2026-06-09T03:00:38.4757941Z       }
2026-06-09T03:00:38.4758016Z     },
2026-06-09T03:00:38.4758097Z     {
2026-06-09T03:00:38.4758197Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-09T03:00:38.4758383Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-09T03:00:38.4758469Z       "requiredStages": [
2026-06-09T03:00:38.4758556Z         "impl",
2026-06-09T03:00:38.4758646Z         "unit"
2026-06-09T03:00:38.4758726Z       ],
2026-06-09T03:00:38.4758808Z       "stages": {
2026-06-09T03:00:38.4758885Z         "doc": {
2026-06-09T03:00:38.4758980Z           "complete": false,
2026-06-09T03:00:38.4759060Z           "evidence": []
2026-06-09T03:00:38.4759140Z         },
2026-06-09T03:00:38.4759227Z         "impl": {
2026-06-09T03:00:38.4759311Z           "complete": true,
2026-06-09T03:00:38.4759396Z           "evidence": [
2026-06-09T03:00:38.4759476Z             {
2026-06-09T03:00:38.4759587Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.4759668Z               "line": 143
2026-06-09T03:00:38.4759748Z             },
2026-06-09T03:00:38.4759830Z             {
2026-06-09T03:00:38.4759945Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4760030Z               "line": 148
2026-06-09T03:00:38.4760110Z             }
2026-06-09T03:00:38.4760188Z           ]
2026-06-09T03:00:38.4760269Z         },
2026-06-09T03:00:38.4760464Z         "int": {
2026-06-09T03:00:38.4760640Z           "complete": false,
2026-06-09T03:00:38.4760726Z           "evidence": []
2026-06-09T03:00:38.4760803Z         },
2026-06-09T03:00:38.4760884Z         "unit": {
2026-06-09T03:00:38.4760974Z           "complete": true,
2026-06-09T03:00:38.4761059Z           "evidence": [
2026-06-09T03:00:38.4761137Z             {
2026-06-09T03:00:38.4761241Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.4761327Z               "line": 264
2026-06-09T03:00:38.4761403Z             },
2026-06-09T03:00:38.4761485Z             {
2026-06-09T03:00:38.4761598Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4761680Z               "line": 544
2026-06-09T03:00:38.4761762Z             },
2026-06-09T03:00:38.4761838Z             {
2026-06-09T03:00:38.4761946Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.4762031Z               "line": 557
2026-06-09T03:00:38.4762113Z             }
2026-06-09T03:00:38.4762208Z           ]
2026-06-09T03:00:38.4762289Z         }
2026-06-09T03:00:38.4762370Z       }
2026-06-09T03:00:38.4762447Z     },
2026-06-09T03:00:38.4762528Z     {
2026-06-09T03:00:38.4762636Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-09T03:00:38.4762762Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-09T03:00:38.4762852Z       "requiredStages": [
2026-06-09T03:00:38.4762933Z         "impl",
2026-06-09T03:00:38.4763014Z         "unit"
2026-06-09T03:00:38.4763096Z       ],
2026-06-09T03:00:38.4763176Z       "stages": {
2026-06-09T03:00:38.4763257Z         "doc": {
2026-06-09T03:00:38.4763343Z           "complete": false,
2026-06-09T03:00:38.4763429Z           "evidence": []
2026-06-09T03:00:38.4763505Z         },
2026-06-09T03:00:38.4763590Z         "impl": {
2026-06-09T03:00:38.4763677Z           "complete": true,
2026-06-09T03:00:38.4763763Z           "evidence": [
2026-06-09T03:00:38.4763838Z             {
2026-06-09T03:00:38.4763948Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4764045Z               "line": 114
2026-06-09T03:00:38.4764125Z             },
2026-06-09T03:00:38.4764205Z             {
2026-06-09T03:00:38.4764317Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.4764402Z               "line": 481
2026-06-09T03:00:38.4764482Z             }
2026-06-09T03:00:38.4764562Z           ]
2026-06-09T03:00:38.4764644Z         },
2026-06-09T03:00:38.4764725Z         "int": {
2026-06-09T03:00:38.4764813Z           "complete": false,
2026-06-09T03:00:38.4764894Z           "evidence": []
2026-06-09T03:00:38.4764975Z         },
2026-06-09T03:00:38.4765056Z         "unit": {
2026-06-09T03:00:38.4765142Z           "complete": true,
2026-06-09T03:00:38.4765227Z           "evidence": [
2026-06-09T03:00:38.4765304Z             {
2026-06-09T03:00:38.4765419Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.4765503Z               "line": 515
2026-06-09T03:00:38.4765590Z             }
2026-06-09T03:00:38.4765677Z           ]
2026-06-09T03:00:38.4765757Z         }
2026-06-09T03:00:38.4765837Z       }
2026-06-09T03:00:38.4765915Z     },
2026-06-09T03:00:38.4765996Z     {
2026-06-09T03:00:38.4766105Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-09T03:00:38.4766258Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-09T03:00:38.4766349Z       "requiredStages": [
2026-06-09T03:00:38.4766430Z         "impl",
2026-06-09T03:00:38.4766511Z         "unit"
2026-06-09T03:00:38.4766592Z       ],
2026-06-09T03:00:38.4766673Z       "stages": {
2026-06-09T03:00:38.4766754Z         "doc": {
2026-06-09T03:00:38.4766840Z           "complete": false,
2026-06-09T03:00:38.4766922Z           "evidence": []
2026-06-09T03:00:38.4767091Z         },
2026-06-09T03:00:38.4767171Z         "impl": {
2026-06-09T03:00:38.4767258Z           "complete": true,
2026-06-09T03:00:38.4767342Z           "evidence": [
2026-06-09T03:00:38.4767422Z             {
2026-06-09T03:00:38.4767652Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4767838Z               "line": 459
2026-06-09T03:00:38.4767914Z             },
2026-06-09T03:00:38.4767995Z             {
2026-06-09T03:00:38.4768104Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4768191Z               "line": 28
2026-06-09T03:00:38.4768267Z             }
2026-06-09T03:00:38.4768347Z           ]
2026-06-09T03:00:38.4768428Z         },
2026-06-09T03:00:38.4768511Z         "int": {
2026-06-09T03:00:38.4768600Z           "complete": false,
2026-06-09T03:00:38.4768686Z           "evidence": []
2026-06-09T03:00:38.4768767Z         },
2026-06-09T03:00:38.4768850Z         "unit": {
2026-06-09T03:00:38.4768934Z           "complete": true,
2026-06-09T03:00:38.4769020Z           "evidence": [
2026-06-09T03:00:38.4769101Z             {
2026-06-09T03:00:38.4769206Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4769296Z               "line": 229
2026-06-09T03:00:38.4769387Z             }
2026-06-09T03:00:38.4769479Z           ]
2026-06-09T03:00:38.4769559Z         }
2026-06-09T03:00:38.4769634Z       }
2026-06-09T03:00:38.4769714Z     },
2026-06-09T03:00:38.4769796Z     {
2026-06-09T03:00:38.4769894Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-09T03:00:38.4770017Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-09T03:00:38.4770108Z       "requiredStages": [],
2026-06-09T03:00:38.4770191Z       "stages": {
2026-06-09T03:00:38.4770270Z         "doc": {
2026-06-09T03:00:38.4770360Z           "complete": false,
2026-06-09T03:00:38.4770443Z           "evidence": []
2026-06-09T03:00:38.4770524Z         },
2026-06-09T03:00:38.4770604Z         "impl": {
2026-06-09T03:00:38.4770690Z           "complete": false,
2026-06-09T03:00:38.4770772Z           "evidence": []
2026-06-09T03:00:38.4770852Z         },
2026-06-09T03:00:38.4770933Z         "int": {
2026-06-09T03:00:38.4771019Z           "complete": false,
2026-06-09T03:00:38.4771115Z           "evidence": []
2026-06-09T03:00:38.4771205Z         },
2026-06-09T03:00:38.4771286Z         "unit": {
2026-06-09T03:00:38.4771373Z           "complete": false,
2026-06-09T03:00:38.4771458Z           "evidence": []
2026-06-09T03:00:38.4771539Z         }
2026-06-09T03:00:38.4771620Z       }
2026-06-09T03:00:38.4771697Z     },
2026-06-09T03:00:38.4771778Z     {
2026-06-09T03:00:38.4771882Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-09T03:00:38.4772022Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-09T03:00:38.4772107Z       "requiredStages": [
2026-06-09T03:00:38.4772196Z         "impl",
2026-06-09T03:00:38.4772278Z         "unit"
2026-06-09T03:00:38.4772361Z       ],
2026-06-09T03:00:38.4772445Z       "stages": {
2026-06-09T03:00:38.4772525Z         "doc": {
2026-06-09T03:00:38.4772615Z           "complete": false,
2026-06-09T03:00:38.4772697Z           "evidence": []
2026-06-09T03:00:38.4772778Z         },
2026-06-09T03:00:38.4772859Z         "impl": {
2026-06-09T03:00:38.4772959Z           "complete": true,
2026-06-09T03:00:38.4773055Z           "evidence": [
2026-06-09T03:00:38.4773135Z             {
2026-06-09T03:00:38.4773245Z               "path": "crates/spt-live/src/turn.rs",
2026-06-09T03:00:38.4773331Z               "line": 19
2026-06-09T03:00:38.4773412Z             },
2026-06-09T03:00:38.4773493Z             {
2026-06-09T03:00:38.4773608Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4773698Z               "line": 347
2026-06-09T03:00:38.4773775Z             },
2026-06-09T03:00:38.4773854Z             {
2026-06-09T03:00:38.4773966Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4774051Z               "line": 383
2026-06-09T03:00:38.4774132Z             },
2026-06-09T03:00:38.4774213Z             {
2026-06-09T03:00:38.4774323Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4774413Z               "line": 15
2026-06-09T03:00:38.4774489Z             },
2026-06-09T03:00:38.4774643Z             {
2026-06-09T03:00:38.4774823Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4774906Z               "line": 48
2026-06-09T03:00:38.4774986Z             },
2026-06-09T03:00:38.4775066Z             {
2026-06-09T03:00:38.4775175Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4775256Z               "line": 119
2026-06-09T03:00:38.4775327Z             },
2026-06-09T03:00:38.4775401Z             {
2026-06-09T03:00:38.4775501Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4775589Z               "line": 2525
2026-06-09T03:00:38.4775670Z             }
2026-06-09T03:00:38.4775744Z           ]
2026-06-09T03:00:38.4775831Z         },
2026-06-09T03:00:38.4775908Z         "int": {
2026-06-09T03:00:38.4776003Z           "complete": false,
2026-06-09T03:00:38.4776092Z           "evidence": []
2026-06-09T03:00:38.4776175Z         },
2026-06-09T03:00:38.4776279Z         "unit": {
2026-06-09T03:00:38.4776370Z           "complete": true,
2026-06-09T03:00:38.4776470Z           "evidence": [
2026-06-09T03:00:38.4776542Z             {
2026-06-09T03:00:38.4776647Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.4776746Z               "line": 496
2026-06-09T03:00:38.4776838Z             },
2026-06-09T03:00:38.4776918Z             {
2026-06-09T03:00:38.4777104Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4777191Z               "line": 165
2026-06-09T03:00:38.4777270Z             },
2026-06-09T03:00:38.4777351Z             {
2026-06-09T03:00:38.4777458Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-09T03:00:38.4777543Z               "line": 175
2026-06-09T03:00:38.4777622Z             }
2026-06-09T03:00:38.4777699Z           ]
2026-06-09T03:00:38.4777785Z         }
2026-06-09T03:00:38.4777861Z       }
2026-06-09T03:00:38.4777940Z     },
2026-06-09T03:00:38.4778025Z     {
2026-06-09T03:00:38.4778126Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-09T03:00:38.4778989Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-09T03:00:38.4779090Z       "requiredStages": [
2026-06-09T03:00:38.4779179Z         "impl",
2026-06-09T03:00:38.4779269Z         "unit"
2026-06-09T03:00:38.4779347Z       ],
2026-06-09T03:00:38.4779433Z       "stages": {
2026-06-09T03:00:38.4779513Z         "doc": {
2026-06-09T03:00:38.4779604Z           "complete": false,
2026-06-09T03:00:38.4779695Z           "evidence": []
2026-06-09T03:00:38.4779776Z         },
2026-06-09T03:00:38.4779861Z         "impl": {
2026-06-09T03:00:38.4779947Z           "complete": true,
2026-06-09T03:00:38.4780039Z           "evidence": [
2026-06-09T03:00:38.4780119Z             {
2026-06-09T03:00:38.4780223Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4780318Z               "line": 2283
2026-06-09T03:00:38.4780408Z             },
2026-06-09T03:00:38.4780492Z             {
2026-06-09T03:00:38.4780601Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4780688Z               "line": 103
2026-06-09T03:00:38.4780770Z             },
2026-06-09T03:00:38.4780849Z             {
2026-06-09T03:00:38.4780955Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4781041Z               "line": 135
2026-06-09T03:00:38.4781126Z             }
2026-06-09T03:00:38.4781202Z           ]
2026-06-09T03:00:38.4781288Z         },
2026-06-09T03:00:38.4781370Z         "int": {
2026-06-09T03:00:38.4781460Z           "complete": false,
2026-06-09T03:00:38.4781545Z           "evidence": []
2026-06-09T03:00:38.4781623Z         },
2026-06-09T03:00:38.4781708Z         "unit": {
2026-06-09T03:00:38.4781794Z           "complete": true,
2026-06-09T03:00:38.4781884Z           "evidence": [
2026-06-09T03:00:38.4781962Z             {
2026-06-09T03:00:38.4782166Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4782343Z               "line": 258
2026-06-09T03:00:38.4782423Z             },
2026-06-09T03:00:38.4782504Z             {
2026-06-09T03:00:38.4782606Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4782694Z               "line": 283
2026-06-09T03:00:38.4782775Z             },
2026-06-09T03:00:38.4782858Z             {
2026-06-09T03:00:38.4782958Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4783047Z               "line": 296
2026-06-09T03:00:38.4783127Z             },
2026-06-09T03:00:38.4783209Z             {
2026-06-09T03:00:38.4783310Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.4783400Z               "line": 308
2026-06-09T03:00:38.4783480Z             }
2026-06-09T03:00:38.4783563Z           ]
2026-06-09T03:00:38.4783644Z         }
2026-06-09T03:00:38.4783729Z       }
2026-06-09T03:00:38.4783805Z     },
2026-06-09T03:00:38.4783896Z     {
2026-06-09T03:00:38.4784006Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-09T03:00:38.4784158Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-09T03:00:38.4784254Z       "requiredStages": [
2026-06-09T03:00:38.4784335Z         "impl",
2026-06-09T03:00:38.4784415Z         "unit"
2026-06-09T03:00:38.4784497Z       ],
2026-06-09T03:00:38.4784587Z       "stages": {
2026-06-09T03:00:38.4784663Z         "doc": {
2026-06-09T03:00:38.4784759Z           "complete": false,
2026-06-09T03:00:38.4784846Z           "evidence": []
2026-06-09T03:00:38.4784930Z         },
2026-06-09T03:00:38.4785011Z         "impl": {
2026-06-09T03:00:38.4785098Z           "complete": true,
2026-06-09T03:00:38.4785184Z           "evidence": [
2026-06-09T03:00:38.4785264Z             {
2026-06-09T03:00:38.4785374Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4785456Z               "line": 35
2026-06-09T03:00:38.4785542Z             }
2026-06-09T03:00:38.4785631Z           ]
2026-06-09T03:00:38.4785716Z         },
2026-06-09T03:00:38.4785802Z         "int": {
2026-06-09T03:00:38.4785887Z           "complete": false,
2026-06-09T03:00:38.4785976Z           "evidence": []
2026-06-09T03:00:38.4786052Z         },
2026-06-09T03:00:38.4786139Z         "unit": {
2026-06-09T03:00:38.4786225Z           "complete": true,
2026-06-09T03:00:38.4786309Z           "evidence": [
2026-06-09T03:00:38.4786391Z             {
2026-06-09T03:00:38.4786501Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-09T03:00:38.4786587Z               "line": 220
2026-06-09T03:00:38.4786667Z             }
2026-06-09T03:00:38.4786749Z           ]
2026-06-09T03:00:38.4786830Z         }
2026-06-09T03:00:38.4786911Z       }
2026-06-09T03:00:38.4787078Z     },
2026-06-09T03:00:38.4787164Z     {
2026-06-09T03:00:38.4787268Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-09T03:00:38.4787516Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-09T03:00:38.4787621Z       "requiredStages": [
2026-06-09T03:00:38.4787708Z         "impl",
2026-06-09T03:00:38.4787788Z         "unit"
2026-06-09T03:00:38.4787869Z       ],
2026-06-09T03:00:38.4787950Z       "stages": {
2026-06-09T03:00:38.4788032Z         "doc": {
2026-06-09T03:00:38.4788122Z           "complete": false,
2026-06-09T03:00:38.4788206Z           "evidence": []
2026-06-09T03:00:38.4788287Z         },
2026-06-09T03:00:38.4788373Z         "impl": {
2026-06-09T03:00:38.4788462Z           "complete": true,
2026-06-09T03:00:38.4788547Z           "evidence": [
2026-06-09T03:00:38.4788628Z             {
2026-06-09T03:00:38.4788753Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.4788838Z               "line": 398
2026-06-09T03:00:38.4788924Z             },
2026-06-09T03:00:38.4789001Z             {
2026-06-09T03:00:38.4789125Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.4789210Z               "line": 396
2026-06-09T03:00:38.4789392Z             },
2026-06-09T03:00:38.4789577Z             {
2026-06-09T03:00:38.4789693Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.4789778Z               "line": 156
2026-06-09T03:00:38.4789854Z             }
2026-06-09T03:00:38.4789936Z           ]
2026-06-09T03:00:38.4790017Z         },
2026-06-09T03:00:38.4790097Z         "int": {
2026-06-09T03:00:38.4790183Z           "complete": false,
2026-06-09T03:00:38.4790270Z           "evidence": []
2026-06-09T03:00:38.4790350Z         },
2026-06-09T03:00:38.4790431Z         "unit": {
2026-06-09T03:00:38.4790517Z           "complete": true,
2026-06-09T03:00:38.4790599Z           "evidence": [
2026-06-09T03:00:38.4790684Z             {
2026-06-09T03:00:38.4790793Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.4790878Z               "line": 797
2026-06-09T03:00:38.4790959Z             },
2026-06-09T03:00:38.4791038Z             {
2026-06-09T03:00:38.4791142Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.4791243Z               "line": 811
2026-06-09T03:00:38.4791321Z             },
2026-06-09T03:00:38.4791400Z             {
2026-06-09T03:00:38.4791510Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.4791601Z               "line": 830
2026-06-09T03:00:38.4791682Z             },
2026-06-09T03:00:38.4791762Z             {
2026-06-09T03:00:38.4791868Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.4791954Z               "line": 847
2026-06-09T03:00:38.4792039Z             },
2026-06-09T03:00:38.4792120Z             {
2026-06-09T03:00:38.4792240Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-09T03:00:38.4792321Z               "line": 439
2026-06-09T03:00:38.4792401Z             }
2026-06-09T03:00:38.4792479Z           ]
2026-06-09T03:00:38.4792560Z         }
2026-06-09T03:00:38.4792644Z       }
2026-06-09T03:00:38.4792726Z     },
2026-06-09T03:00:38.4792803Z     {
2026-06-09T03:00:38.4792917Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-09T03:00:38.4793669Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-09T03:00:38.4793764Z       "requiredStages": [
2026-06-09T03:00:38.4793846Z         "doc",
2026-06-09T03:00:38.4793931Z         "impl",
2026-06-09T03:00:38.4794012Z         "unit"
2026-06-09T03:00:38.4794093Z       ],
2026-06-09T03:00:38.4794175Z       "stages": {
2026-06-09T03:00:38.4794255Z         "doc": {
2026-06-09T03:00:38.4794345Z           "complete": true,
2026-06-09T03:00:38.4794433Z           "evidence": [
2026-06-09T03:00:38.4794513Z             {
2026-06-09T03:00:38.4794618Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-09T03:00:38.4794704Z               "line": 312
2026-06-09T03:00:38.4794781Z             }
2026-06-09T03:00:38.4794871Z           ]
2026-06-09T03:00:38.4794961Z         },
2026-06-09T03:00:38.4795042Z         "impl": {
2026-06-09T03:00:38.4795133Z           "complete": true,
2026-06-09T03:00:38.4795218Z           "evidence": [
2026-06-09T03:00:38.4795299Z             {
2026-06-09T03:00:38.4795411Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.4795495Z               "line": 85
2026-06-09T03:00:38.4795576Z             },
2026-06-09T03:00:38.4795658Z             {
2026-06-09T03:00:38.4795773Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-09T03:00:38.4795853Z               "line": 99
2026-06-09T03:00:38.4795934Z             },
2026-06-09T03:00:38.4796011Z             {
2026-06-09T03:00:38.4796134Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.4796214Z               "line": 55
2026-06-09T03:00:38.4796295Z             },
2026-06-09T03:00:38.4796376Z             {
2026-06-09T03:00:38.4796484Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.4796641Z               "line": 31
2026-06-09T03:00:38.4796785Z             },
2026-06-09T03:00:38.4796865Z             {
2026-06-09T03:00:38.4797047Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.4797127Z               "line": 187
2026-06-09T03:00:38.4797212Z             },
2026-06-09T03:00:38.4797285Z             {
2026-06-09T03:00:38.4797399Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.4797485Z               "line": 95
2026-06-09T03:00:38.4797585Z             },
2026-06-09T03:00:38.4797667Z             {
2026-06-09T03:00:38.4797781Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.4797866Z               "line": 29
2026-06-09T03:00:38.4797944Z             },
2026-06-09T03:00:38.4798024Z             {
2026-06-09T03:00:38.4798138Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.4798224Z               "line": 104
2026-06-09T03:00:38.4798306Z             },
2026-06-09T03:00:38.4798391Z             {
2026-06-09T03:00:38.4798530Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4798611Z               "line": 192
2026-06-09T03:00:38.4798691Z             },
2026-06-09T03:00:38.4798771Z             {
2026-06-09T03:00:38.4798886Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-09T03:00:38.4798966Z               "line": 28
2026-06-09T03:00:38.4799046Z             },
2026-06-09T03:00:38.4799126Z             {
2026-06-09T03:00:38.4799232Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-09T03:00:38.4799313Z               "line": 74
2026-06-09T03:00:38.4799394Z             },
2026-06-09T03:00:38.4799474Z             {
2026-06-09T03:00:38.4801409Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-09T03:00:38.4801524Z               "line": 32
2026-06-09T03:00:38.4801608Z             },
2026-06-09T03:00:38.4801688Z             {
2026-06-09T03:00:38.4801808Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4801918Z               "line": 40
2026-06-09T03:00:38.4802003Z             },
2026-06-09T03:00:38.4802085Z             {
2026-06-09T03:00:38.4802199Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4802289Z               "line": 184
2026-06-09T03:00:38.4802370Z             },
2026-06-09T03:00:38.4802453Z             {
2026-06-09T03:00:38.4802567Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-09T03:00:38.4802651Z               "line": 70
2026-06-09T03:00:38.4802733Z             },
2026-06-09T03:00:38.4802815Z             {
2026-06-09T03:00:38.4802923Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.4803009Z               "line": 223
2026-06-09T03:00:38.4803092Z             },
2026-06-09T03:00:38.4803167Z             {
2026-06-09T03:00:38.4803281Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-09T03:00:38.4803368Z               "line": 37
2026-06-09T03:00:38.4803449Z             },
2026-06-09T03:00:38.4803538Z             {
2026-06-09T03:00:38.4803668Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.4803755Z               "line": 38
2026-06-09T03:00:38.4803834Z             },
2026-06-09T03:00:38.4803915Z             {
2026-06-09T03:00:38.4804026Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-09T03:00:38.4804107Z               "line": 36
2026-06-09T03:00:38.4804186Z             },
2026-06-09T03:00:38.4804267Z             {
2026-06-09T03:00:38.4804378Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-09T03:00:38.4804463Z               "line": 40
2026-06-09T03:00:38.4804544Z             }
2026-06-09T03:00:38.4804625Z           ]
2026-06-09T03:00:38.4804702Z         },
2026-06-09T03:00:38.4804783Z         "int": {
2026-06-09T03:00:38.4804877Z           "complete": false,
2026-06-09T03:00:38.4804964Z           "evidence": []
2026-06-09T03:00:38.4805040Z         },
2026-06-09T03:00:38.4805121Z         "unit": {
2026-06-09T03:00:38.4805336Z           "complete": true,
2026-06-09T03:00:38.4805511Z           "evidence": [
2026-06-09T03:00:38.4805593Z             {
2026-06-09T03:00:38.4805721Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.4805807Z               "line": 212
2026-06-09T03:00:38.4805888Z             },
2026-06-09T03:00:38.4805971Z             {
2026-06-09T03:00:38.4806093Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-09T03:00:38.4806179Z               "line": 136
2026-06-09T03:00:38.4806262Z             },
2026-06-09T03:00:38.4806342Z             {
2026-06-09T03:00:38.4806465Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-09T03:00:38.4806552Z               "line": 683
2026-06-09T03:00:38.4806629Z             },
2026-06-09T03:00:38.4806712Z             {
2026-06-09T03:00:38.4806821Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-09T03:00:38.4806913Z               "line": 224
2026-06-09T03:00:38.4807077Z             },
2026-06-09T03:00:38.4807167Z             {
2026-06-09T03:00:38.4807311Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-09T03:00:38.4807396Z               "line": 157
2026-06-09T03:00:38.4807477Z             },
2026-06-09T03:00:38.4807555Z             {
2026-06-09T03:00:38.4807669Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-09T03:00:38.4807749Z               "line": 112
2026-06-09T03:00:38.4807831Z             },
2026-06-09T03:00:38.4807903Z             {
2026-06-09T03:00:38.4808007Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-09T03:00:38.4808092Z               "line": 157
2026-06-09T03:00:38.4808165Z             },
2026-06-09T03:00:38.4808246Z             {
2026-06-09T03:00:38.4808355Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.4808436Z               "line": 215
2026-06-09T03:00:38.4808523Z             },
2026-06-09T03:00:38.4808613Z             {
2026-06-09T03:00:38.4808736Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-09T03:00:38.4808833Z               "line": 140
2026-06-09T03:00:38.4808913Z             },
2026-06-09T03:00:38.4808994Z             {
2026-06-09T03:00:38.4809100Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-09T03:00:38.4809186Z               "line": 162
2026-06-09T03:00:38.4809265Z             }
2026-06-09T03:00:38.4809350Z           ]
2026-06-09T03:00:38.4809431Z         }
2026-06-09T03:00:38.4809512Z       }
2026-06-09T03:00:38.4809592Z     },
2026-06-09T03:00:38.4809672Z     {
2026-06-09T03:00:38.4809787Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-09T03:00:38.4809939Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-09T03:00:38.4810029Z       "requiredStages": [
2026-06-09T03:00:38.4810116Z         "impl",
2026-06-09T03:00:38.4810198Z         "unit"
2026-06-09T03:00:38.4810278Z       ],
2026-06-09T03:00:38.4810359Z       "stages": {
2026-06-09T03:00:38.4810446Z         "doc": {
2026-06-09T03:00:38.4810536Z           "complete": false,
2026-06-09T03:00:38.4810635Z           "evidence": []
2026-06-09T03:00:38.4810717Z         },
2026-06-09T03:00:38.4810799Z         "impl": {
2026-06-09T03:00:38.4810889Z           "complete": true,
2026-06-09T03:00:38.4810974Z           "evidence": [
2026-06-09T03:00:38.4811057Z             {
2026-06-09T03:00:38.4811165Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.4811251Z               "line": 95
2026-06-09T03:00:38.4811332Z             },
2026-06-09T03:00:38.4811414Z             {
2026-06-09T03:00:38.4811518Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4811603Z               "line": 102
2026-06-09T03:00:38.4811686Z             }
2026-06-09T03:00:38.4811767Z           ]
2026-06-09T03:00:38.4811846Z         },
2026-06-09T03:00:38.4811927Z         "int": {
2026-06-09T03:00:38.4812018Z           "complete": false,
2026-06-09T03:00:38.4812103Z           "evidence": []
2026-06-09T03:00:38.4812187Z         },
2026-06-09T03:00:38.4812268Z         "unit": {
2026-06-09T03:00:38.4812539Z           "complete": true,
2026-06-09T03:00:38.4812625Z           "evidence": [
2026-06-09T03:00:38.4812708Z             {
2026-06-09T03:00:38.4812821Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.4812906Z               "line": 250
2026-06-09T03:00:38.4812993Z             },
2026-06-09T03:00:38.4813074Z             {
2026-06-09T03:00:38.4813183Z               "path": "crates/spt-store/src/proc.rs",
2026-06-09T03:00:38.4813269Z               "line": 198
2026-06-09T03:00:38.4813346Z             },
2026-06-09T03:00:38.4813431Z             {
2026-06-09T03:00:38.4813541Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4813623Z               "line": 442
2026-06-09T03:00:38.4813704Z             },
2026-06-09T03:00:38.4813784Z             {
2026-06-09T03:00:38.4813889Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4813971Z               "line": 475
2026-06-09T03:00:38.4814056Z             }
2026-06-09T03:00:38.4814141Z           ]
2026-06-09T03:00:38.4814228Z         }
2026-06-09T03:00:38.4814310Z       }
2026-06-09T03:00:38.4814389Z     },
2026-06-09T03:00:38.4814470Z     {
2026-06-09T03:00:38.4814572Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-09T03:00:38.4814746Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-09T03:00:38.4814836Z       "requiredStages": [
2026-06-09T03:00:38.4814918Z         "impl",
2026-06-09T03:00:38.4814999Z         "unit"
2026-06-09T03:00:38.4815080Z       ],
2026-06-09T03:00:38.4815165Z       "stages": {
2026-06-09T03:00:38.4815243Z         "doc": {
2026-06-09T03:00:38.4815334Z           "complete": false,
2026-06-09T03:00:38.4815423Z           "evidence": []
2026-06-09T03:00:38.4815504Z         },
2026-06-09T03:00:38.4815586Z         "impl": {
2026-06-09T03:00:38.4815672Z           "complete": true,
2026-06-09T03:00:38.4815762Z           "evidence": [
2026-06-09T03:00:38.4815839Z             {
2026-06-09T03:00:38.4815948Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4816043Z               "line": 252
2026-06-09T03:00:38.4816129Z             },
2026-06-09T03:00:38.4816211Z             {
2026-06-09T03:00:38.4816315Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4816396Z               "line": 297
2026-06-09T03:00:38.4816478Z             },
2026-06-09T03:00:38.4816559Z             {
2026-06-09T03:00:38.4816663Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4816749Z               "line": 309
2026-06-09T03:00:38.4816831Z             }
2026-06-09T03:00:38.4816911Z           ]
2026-06-09T03:00:38.4817073Z         },
2026-06-09T03:00:38.4817156Z         "int": {
2026-06-09T03:00:38.4817245Z           "complete": false,
2026-06-09T03:00:38.4817335Z           "evidence": []
2026-06-09T03:00:38.4817415Z         },
2026-06-09T03:00:38.4817497Z         "unit": {
2026-06-09T03:00:38.4817585Z           "complete": true,
2026-06-09T03:00:38.4817671Z           "evidence": [
2026-06-09T03:00:38.4817761Z             {
2026-06-09T03:00:38.4817871Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4817956Z               "line": 445
2026-06-09T03:00:38.4818032Z             },
2026-06-09T03:00:38.4818115Z             {
2026-06-09T03:00:38.4818220Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.4818304Z               "line": 489
2026-06-09T03:00:38.4818386Z             }
2026-06-09T03:00:38.4818468Z           ]
2026-06-09T03:00:38.4818548Z         }
2026-06-09T03:00:38.4818624Z       }
2026-06-09T03:00:38.4818706Z     },
2026-06-09T03:00:38.4818787Z     {
2026-06-09T03:00:38.4818877Z       "id": "REQ-INFRA-1",
2026-06-09T03:00:38.4819040Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-09T03:00:38.4819130Z       "requiredStages": [],
2026-06-09T03:00:38.4819216Z       "stages": {
2026-06-09T03:00:38.4819297Z         "doc": {
2026-06-09T03:00:38.4819384Z           "complete": false,
2026-06-09T03:00:38.4819569Z           "evidence": []
2026-06-09T03:00:38.4819760Z         },
2026-06-09T03:00:38.4819839Z         "impl": {
2026-06-09T03:00:38.4819929Z           "complete": false,
2026-06-09T03:00:38.4820016Z           "evidence": []
2026-06-09T03:00:38.4820096Z         },
2026-06-09T03:00:38.4820180Z         "int": {
2026-06-09T03:00:38.4820270Z           "complete": false,
2026-06-09T03:00:38.4820357Z           "evidence": []
2026-06-09T03:00:38.4820434Z         },
2026-06-09T03:00:38.4820519Z         "unit": {
2026-06-09T03:00:38.4820604Z           "complete": false,
2026-06-09T03:00:38.4820691Z           "evidence": []
2026-06-09T03:00:38.4820772Z         }
2026-06-09T03:00:38.4820852Z       }
2026-06-09T03:00:38.4820934Z     },
2026-06-09T03:00:38.4821015Z     {
2026-06-09T03:00:38.4821105Z       "id": "REQ-INST-1",
2026-06-09T03:00:38.4821253Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-09T03:00:38.4821349Z       "requiredStages": [],
2026-06-09T03:00:38.4821434Z       "stages": {
2026-06-09T03:00:38.4821524Z         "doc": {
2026-06-09T03:00:38.4821617Z           "complete": false,
2026-06-09T03:00:38.4821697Z           "evidence": []
2026-06-09T03:00:38.4821782Z         },
2026-06-09T03:00:38.4821863Z         "impl": {
2026-06-09T03:00:38.4821951Z           "complete": false,
2026-06-09T03:00:38.4822035Z           "evidence": []
2026-06-09T03:00:38.4822116Z         },
2026-06-09T03:00:38.4822197Z         "int": {
2026-06-09T03:00:38.4822284Z           "complete": false,
2026-06-09T03:00:38.4822369Z           "evidence": []
2026-06-09T03:00:38.4822444Z         },
2026-06-09T03:00:38.4822530Z         "unit": {
2026-06-09T03:00:38.4822615Z           "complete": false,
2026-06-09T03:00:38.4822700Z           "evidence": []
2026-06-09T03:00:38.4822780Z         }
2026-06-09T03:00:38.4822861Z       }
2026-06-09T03:00:38.4822943Z     },
2026-06-09T03:00:38.4823020Z     {
2026-06-09T03:00:38.4823109Z       "id": "REQ-INST-10",
2026-06-09T03:00:38.4823310Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-09T03:00:38.4823414Z       "requiredStages": [
2026-06-09T03:00:38.4823495Z         "impl",
2026-06-09T03:00:38.4823577Z         "unit"
2026-06-09T03:00:38.4823657Z       ],
2026-06-09T03:00:38.4823738Z       "stages": {
2026-06-09T03:00:38.4823824Z         "doc": {
2026-06-09T03:00:38.4823911Z           "complete": false,
2026-06-09T03:00:38.4824001Z           "evidence": []
2026-06-09T03:00:38.4824081Z         },
2026-06-09T03:00:38.4824159Z         "impl": {
2026-06-09T03:00:38.4824250Z           "complete": true,
2026-06-09T03:00:38.4824334Z           "evidence": [
2026-06-09T03:00:38.4824415Z             {
2026-06-09T03:00:38.4824536Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4824621Z               "line": 600
2026-06-09T03:00:38.4824702Z             },
2026-06-09T03:00:38.4824783Z             {
2026-06-09T03:00:38.4824898Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4824996Z               "line": 677
2026-06-09T03:00:38.4825079Z             },
2026-06-09T03:00:38.4825161Z             {
2026-06-09T03:00:38.4825264Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-09T03:00:38.4825349Z               "line": 13
2026-06-09T03:00:38.4825430Z             },
2026-06-09T03:00:38.4825508Z             {
2026-06-09T03:00:38.4825617Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-09T03:00:38.4825697Z               "line": 67
2026-06-09T03:00:38.4825779Z             },
2026-06-09T03:00:38.4825860Z             {
2026-06-09T03:00:38.4825964Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.4826045Z               "line": 18
2026-06-09T03:00:38.4826132Z             },
2026-06-09T03:00:38.4826213Z             {
2026-06-09T03:00:38.4826312Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.4826399Z               "line": 444
2026-06-09T03:00:38.4826480Z             }
2026-06-09T03:00:38.4826636Z           ]
2026-06-09T03:00:38.4826790Z         },
2026-06-09T03:00:38.4826870Z         "int": {
2026-06-09T03:00:38.4827048Z           "complete": false,
2026-06-09T03:00:38.4827134Z           "evidence": []
2026-06-09T03:00:38.4827218Z         },
2026-06-09T03:00:38.4827300Z         "unit": {
2026-06-09T03:00:38.4827386Z           "complete": true,
2026-06-09T03:00:38.4827472Z           "evidence": [
2026-06-09T03:00:38.4827551Z             {
2026-06-09T03:00:38.4827673Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4827759Z               "line": 883
2026-06-09T03:00:38.4827838Z             },
2026-06-09T03:00:38.4827918Z             {
2026-06-09T03:00:38.4828033Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4828118Z               "line": 1212
2026-06-09T03:00:38.4828197Z             },
2026-06-09T03:00:38.4828278Z             {
2026-06-09T03:00:38.4828389Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4828484Z               "line": 1223
2026-06-09T03:00:38.4828569Z             },
2026-06-09T03:00:38.4828646Z             {
2026-06-09T03:00:38.4828756Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4828841Z               "line": 1239
2026-06-09T03:00:38.4828922Z             },
2026-06-09T03:00:38.4828990Z             {
2026-06-09T03:00:38.4829103Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4829179Z               "line": 1255
2026-06-09T03:00:38.4829256Z             },
2026-06-09T03:00:38.4829338Z             {
2026-06-09T03:00:38.4829438Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4829523Z               "line": 1277
2026-06-09T03:00:38.4829600Z             },
2026-06-09T03:00:38.4829676Z             {
2026-06-09T03:00:38.4829776Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4829862Z               "line": 1582
2026-06-09T03:00:38.4829939Z             },
2026-06-09T03:00:38.4830028Z             {
2026-06-09T03:00:38.4830143Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-09T03:00:38.4830225Z               "line": 130
2026-06-09T03:00:38.4830306Z             },
2026-06-09T03:00:38.4830376Z             {
2026-06-09T03:00:38.4830480Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-09T03:00:38.4830561Z               "line": 167
2026-06-09T03:00:38.4830666Z             },
2026-06-09T03:00:38.4830774Z             {
2026-06-09T03:00:38.4830874Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-09T03:00:38.4830960Z               "line": 175
2026-06-09T03:00:38.4831031Z             },
2026-06-09T03:00:38.4831112Z             {
2026-06-09T03:00:38.4831212Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-09T03:00:38.4831313Z               "line": 183
2026-06-09T03:00:38.4831398Z             },
2026-06-09T03:00:38.4831479Z             {
2026-06-09T03:00:38.4831585Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.4831670Z               "line": 895
2026-06-09T03:00:38.4831756Z             }
2026-06-09T03:00:38.4831837Z           ]
2026-06-09T03:00:38.4831914Z         }
2026-06-09T03:00:38.4831995Z       }
2026-06-09T03:00:38.4832070Z     },
2026-06-09T03:00:38.4832152Z     {
2026-06-09T03:00:38.4832238Z       "id": "REQ-INST-11",
2026-06-09T03:00:38.4832438Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-09T03:00:38.4832530Z       "requiredStages": [
2026-06-09T03:00:38.4832609Z         "impl",
2026-06-09T03:00:38.4832690Z         "unit"
2026-06-09T03:00:38.4832772Z       ],
2026-06-09T03:00:38.4832858Z       "stages": {
2026-06-09T03:00:38.4832938Z         "doc": {
2026-06-09T03:00:38.4833028Z           "complete": false,
2026-06-09T03:00:38.4833118Z           "evidence": []
2026-06-09T03:00:38.4833204Z         },
2026-06-09T03:00:38.4833288Z         "impl": {
2026-06-09T03:00:38.4833373Z           "complete": true,
2026-06-09T03:00:38.4833460Z           "evidence": [
2026-06-09T03:00:38.4833726Z             {
2026-06-09T03:00:38.4833842Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4833927Z               "line": 466
2026-06-09T03:00:38.4834007Z             },
2026-06-09T03:00:38.4834089Z             {
2026-06-09T03:00:38.4834213Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4834299Z               "line": 265
2026-06-09T03:00:38.4834375Z             },
2026-06-09T03:00:38.4834457Z             {
2026-06-09T03:00:38.4834571Z               "path": "crates/spt-store/src/rename.rs",
2026-06-09T03:00:38.4834656Z               "line": 59
2026-06-09T03:00:38.4834739Z             },
2026-06-09T03:00:38.4834815Z             {
2026-06-09T03:00:38.4834924Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4835005Z               "line": 3728
2026-06-09T03:00:38.4835086Z             },
2026-06-09T03:00:38.4835167Z             {
2026-06-09T03:00:38.4835267Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4835368Z               "line": 4827
2026-06-09T03:00:38.4835449Z             }
2026-06-09T03:00:38.4835529Z           ]
2026-06-09T03:00:38.4835605Z         },
2026-06-09T03:00:38.4835688Z         "int": {
2026-06-09T03:00:38.4835778Z           "complete": false,
2026-06-09T03:00:38.4835857Z           "evidence": []
2026-06-09T03:00:38.4835933Z         },
2026-06-09T03:00:38.4836020Z         "unit": {
2026-06-09T03:00:38.4836101Z           "complete": true,
2026-06-09T03:00:38.4836177Z           "evidence": [
2026-06-09T03:00:38.4836257Z             {
2026-06-09T03:00:38.4836378Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4836473Z               "line": 1382
2026-06-09T03:00:38.4836576Z             },
2026-06-09T03:00:38.4836654Z             {
2026-06-09T03:00:38.4836768Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4836853Z               "line": 1415
2026-06-09T03:00:38.4836934Z             },
2026-06-09T03:00:38.4837116Z             {
2026-06-09T03:00:38.4837245Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4837331Z               "line": 495
2026-06-09T03:00:38.4837407Z             },
2026-06-09T03:00:38.4837497Z             {
2026-06-09T03:00:38.4837603Z               "path": "crates/spt-store/src/rename.rs",
2026-06-09T03:00:38.4837689Z               "line": 160
2026-06-09T03:00:38.4837773Z             },
2026-06-09T03:00:38.4837850Z             {
2026-06-09T03:00:38.4837961Z               "path": "crates/spt-store/src/rename.rs",
2026-06-09T03:00:38.4838046Z               "line": 190
2026-06-09T03:00:38.4838131Z             },
2026-06-09T03:00:38.4838208Z             {
2026-06-09T03:00:38.4838319Z               "path": "crates/spt-store/src/rename.rs",
2026-06-09T03:00:38.4838403Z               "line": 225
2026-06-09T03:00:38.4838483Z             },
2026-06-09T03:00:38.4838565Z             {
2026-06-09T03:00:38.4838660Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4838748Z               "line": 5067
2026-06-09T03:00:38.4838833Z             }
2026-06-09T03:00:38.4838915Z           ]
2026-06-09T03:00:38.4838996Z         }
2026-06-09T03:00:38.4839081Z       }
2026-06-09T03:00:38.4839167Z     },
2026-06-09T03:00:38.4839245Z     {
2026-06-09T03:00:38.4839335Z       "id": "REQ-INST-12",
2026-06-09T03:00:38.4839607Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-09T03:00:38.4839697Z       "requiredStages": [
2026-06-09T03:00:38.4839783Z         "impl",
2026-06-09T03:00:38.4839865Z         "unit"
2026-06-09T03:00:38.4839950Z       ],
2026-06-09T03:00:38.4840035Z       "stages": {
2026-06-09T03:00:38.4840116Z         "doc": {
2026-06-09T03:00:38.4840204Z           "complete": false,
2026-06-09T03:00:38.4840293Z           "evidence": []
2026-06-09T03:00:38.4840374Z         },
2026-06-09T03:00:38.4840455Z         "impl": {
2026-06-09T03:00:38.4840542Z           "complete": true,
2026-06-09T03:00:38.4840727Z           "evidence": [
2026-06-09T03:00:38.4840899Z             {
2026-06-09T03:00:38.4841012Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4841097Z               "line": 518
2026-06-09T03:00:38.4841184Z             },
2026-06-09T03:00:38.4841263Z             {
2026-06-09T03:00:38.4841376Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4841458Z               "line": 611
2026-06-09T03:00:38.4841540Z             },
2026-06-09T03:00:38.4841619Z             {
2026-06-09T03:00:38.4841734Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4841821Z               "line": 691
2026-06-09T03:00:38.4841902Z             },
2026-06-09T03:00:38.4841986Z             {
2026-06-09T03:00:38.4842092Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4842178Z               "line": 96
2026-06-09T03:00:38.4842259Z             },
2026-06-09T03:00:38.4842340Z             {
2026-06-09T03:00:38.4842455Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4842545Z               "line": 269
2026-06-09T03:00:38.4842626Z             },
2026-06-09T03:00:38.4842703Z             {
2026-06-09T03:00:38.4842822Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4842907Z               "line": 135
2026-06-09T03:00:38.4842988Z             }
2026-06-09T03:00:38.4843071Z           ]
2026-06-09T03:00:38.4843151Z         },
2026-06-09T03:00:38.4843231Z         "int": {
2026-06-09T03:00:38.4843317Z           "complete": false,
2026-06-09T03:00:38.4843410Z           "evidence": []
2026-06-09T03:00:38.4843489Z         },
2026-06-09T03:00:38.4843574Z         "unit": {
2026-06-09T03:00:38.4843664Z           "complete": true,
2026-06-09T03:00:38.4843745Z           "evidence": [
2026-06-09T03:00:38.4843829Z             {
2026-06-09T03:00:38.4843943Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4844029Z               "line": 1457
2026-06-09T03:00:38.4844116Z             },
2026-06-09T03:00:38.4844206Z             {
2026-06-09T03:00:38.4844320Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4844402Z               "line": 1480
2026-06-09T03:00:38.4844483Z             },
2026-06-09T03:00:38.4844563Z             {
2026-06-09T03:00:38.4844674Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4844764Z               "line": 1517
2026-06-09T03:00:38.4844840Z             },
2026-06-09T03:00:38.4844925Z             {
2026-06-09T03:00:38.4845031Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.4845116Z               "line": 457
2026-06-09T03:00:38.4845197Z             },
2026-06-09T03:00:38.4845274Z             {
2026-06-09T03:00:38.4845389Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4845479Z               "line": 172
2026-06-09T03:00:38.4845560Z             },
2026-06-09T03:00:38.4845642Z             {
2026-06-09T03:00:38.4845760Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4845850Z               "line": 193
2026-06-09T03:00:38.4845933Z             },
2026-06-09T03:00:38.4846013Z             {
2026-06-09T03:00:38.4846126Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4846219Z               "line": 219
2026-06-09T03:00:38.4846300Z             }
2026-06-09T03:00:38.4846380Z           ]
2026-06-09T03:00:38.4846460Z         }
2026-06-09T03:00:38.4846541Z       }
2026-06-09T03:00:38.4846623Z     },
2026-06-09T03:00:38.4846704Z     {
2026-06-09T03:00:38.4846798Z       "id": "REQ-INST-13",
2026-06-09T03:00:38.4847052Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-09T03:00:38.4847151Z       "requiredStages": [
2026-06-09T03:00:38.4847233Z         "impl",
2026-06-09T03:00:38.4847314Z         "unit"
2026-06-09T03:00:38.4847395Z       ],
2026-06-09T03:00:38.4847475Z       "stages": {
2026-06-09T03:00:38.4847562Z         "doc": {
2026-06-09T03:00:38.4847853Z           "complete": false,
2026-06-09T03:00:38.4847944Z           "evidence": []
2026-06-09T03:00:38.4848024Z         },
2026-06-09T03:00:38.4848105Z         "impl": {
2026-06-09T03:00:38.4848197Z           "complete": true,
2026-06-09T03:00:38.4848282Z           "evidence": [
2026-06-09T03:00:38.4848363Z             {
2026-06-09T03:00:38.4848473Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4848559Z               "line": 100
2026-06-09T03:00:38.4848639Z             },
2026-06-09T03:00:38.4848720Z             {
2026-06-09T03:00:38.4848841Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4848926Z               "line": 158
2026-06-09T03:00:38.4849005Z             }
2026-06-09T03:00:38.4849086Z           ]
2026-06-09T03:00:38.4849172Z         },
2026-06-09T03:00:38.4849252Z         "int": {
2026-06-09T03:00:38.4849336Z           "complete": false,
2026-06-09T03:00:38.4849422Z           "evidence": []
2026-06-09T03:00:38.4849510Z         },
2026-06-09T03:00:38.4849604Z         "unit": {
2026-06-09T03:00:38.4849694Z           "complete": true,
2026-06-09T03:00:38.4849776Z           "evidence": [
2026-06-09T03:00:38.4849857Z             {
2026-06-09T03:00:38.4849970Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4850051Z               "line": 248
2026-06-09T03:00:38.4850134Z             },
2026-06-09T03:00:38.4850209Z             {
2026-06-09T03:00:38.4850323Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-09T03:00:38.4850406Z               "line": 266
2026-06-09T03:00:38.4850487Z             }
2026-06-09T03:00:38.4850568Z           ]
2026-06-09T03:00:38.4850648Z         }
2026-06-09T03:00:38.4850725Z       }
2026-06-09T03:00:38.4850806Z     },
2026-06-09T03:00:38.4850886Z     {
2026-06-09T03:00:38.4850972Z       "id": "REQ-INST-14",
2026-06-09T03:00:38.4851330Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-09T03:00:38.4851432Z       "requiredStages": [
2026-06-09T03:00:38.4851515Z         "doc",
2026-06-09T03:00:38.4851596Z         "impl",
2026-06-09T03:00:38.4851677Z         "unit"
2026-06-09T03:00:38.4851753Z       ],
2026-06-09T03:00:38.4851837Z       "stages": {
2026-06-09T03:00:38.4851913Z         "doc": {
2026-06-09T03:00:38.4852008Z           "complete": true,
2026-06-09T03:00:38.4852090Z           "evidence": [
2026-06-09T03:00:38.4852170Z             {
2026-06-09T03:00:38.4852265Z               "path": "CONTEXT.md",
2026-06-09T03:00:38.4852347Z               "line": 425
2026-06-09T03:00:38.4852428Z             },
2026-06-09T03:00:38.4852504Z             {
2026-06-09T03:00:38.4852604Z               "path": "docs/STORAGE.md",
2026-06-09T03:00:38.4852687Z               "line": 49
2026-06-09T03:00:38.4852766Z             }
2026-06-09T03:00:38.4852842Z           ]
2026-06-09T03:00:38.4852919Z         },
2026-06-09T03:00:38.4853001Z         "impl": {
2026-06-09T03:00:38.4853095Z           "complete": true,
2026-06-09T03:00:38.4853190Z           "evidence": [
2026-06-09T03:00:38.4853268Z             {
2026-06-09T03:00:38.4853396Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4853477Z               "line": 388
2026-06-09T03:00:38.4853553Z             },
2026-06-09T03:00:38.4853636Z             {
2026-06-09T03:00:38.4853743Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4853830Z               "line": 330
2026-06-09T03:00:38.4853912Z             },
2026-06-09T03:00:38.4853988Z             {
2026-06-09T03:00:38.4854096Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4854181Z               "line": 211
2026-06-09T03:00:38.4854258Z             },
2026-06-09T03:00:38.4854338Z             {
2026-06-09T03:00:38.4854437Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4854527Z               "line": 1003
2026-06-09T03:00:38.4854604Z             }
2026-06-09T03:00:38.4854756Z           ]
2026-06-09T03:00:38.4854899Z         },
2026-06-09T03:00:38.4854981Z         "int": {
2026-06-09T03:00:38.4855075Z           "complete": false,
2026-06-09T03:00:38.4855161Z           "evidence": []
2026-06-09T03:00:38.4855239Z         },
2026-06-09T03:00:38.4855319Z         "unit": {
2026-06-09T03:00:38.4855409Z           "complete": true,
2026-06-09T03:00:38.4855495Z           "evidence": [
2026-06-09T03:00:38.4855577Z             {
2026-06-09T03:00:38.4855701Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4855786Z               "line": 1081
2026-06-09T03:00:38.4855868Z             },
2026-06-09T03:00:38.4855944Z             {
2026-06-09T03:00:38.4856053Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4856135Z               "line": 895
2026-06-09T03:00:38.4856221Z             },
2026-06-09T03:00:38.4856301Z             {
2026-06-09T03:00:38.4856411Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4856508Z               "line": 1153
2026-06-09T03:00:38.4856593Z             },
2026-06-09T03:00:38.4856677Z             {
2026-06-09T03:00:38.4856779Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4856870Z               "line": 463
2026-06-09T03:00:38.4857039Z             },
2026-06-09T03:00:38.4857120Z             {
2026-06-09T03:00:38.4857221Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4857302Z               "line": 5143
2026-06-09T03:00:38.4857382Z             }
2026-06-09T03:00:38.4857459Z           ]
2026-06-09T03:00:38.4857541Z         }
2026-06-09T03:00:38.4857616Z       }
2026-06-09T03:00:38.4857696Z     },
2026-06-09T03:00:38.4857779Z     {
2026-06-09T03:00:38.4857865Z       "id": "REQ-INST-15",
2026-06-09T03:00:38.4858518Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-09T03:00:38.4858618Z       "requiredStages": [
2026-06-09T03:00:38.4858699Z         "doc",
2026-06-09T03:00:38.4858781Z         "impl",
2026-06-09T03:00:38.4858861Z         "unit"
2026-06-09T03:00:38.4858942Z       ],
2026-06-09T03:00:38.4859023Z       "stages": {
2026-06-09T03:00:38.4859105Z         "doc": {
2026-06-09T03:00:38.4859190Z           "complete": true,
2026-06-09T03:00:38.4859276Z           "evidence": [
2026-06-09T03:00:38.4859353Z             {
2026-06-09T03:00:38.4859518Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-09T03:00:38.4859603Z               "line": 3
2026-06-09T03:00:38.4859680Z             }
2026-06-09T03:00:38.4859761Z           ]
2026-06-09T03:00:38.4859840Z         },
2026-06-09T03:00:38.4859920Z         "impl": {
2026-06-09T03:00:38.4860012Z           "complete": true,
2026-06-09T03:00:38.4860093Z           "evidence": [
2026-06-09T03:00:38.4860174Z             {
2026-06-09T03:00:38.4860307Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4860393Z               "line": 337
2026-06-09T03:00:38.4860470Z             },
2026-06-09T03:00:38.4860549Z             {
2026-06-09T03:00:38.4860656Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.4860737Z               "line": 60
2026-06-09T03:00:38.4860817Z             },
2026-06-09T03:00:38.4860898Z             {
2026-06-09T03:00:38.4861018Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4861098Z               "line": 336
2026-06-09T03:00:38.4861179Z             },
2026-06-09T03:00:38.4861260Z             {
2026-06-09T03:00:38.4861376Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4861461Z               "line": 385
2026-06-09T03:00:38.4861537Z             },
2026-06-09T03:00:38.4861619Z             {
2026-06-09T03:00:38.4861723Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4861900Z               "line": 19
2026-06-09T03:00:38.4862075Z             },
2026-06-09T03:00:38.4863942Z             {
2026-06-09T03:00:38.4864089Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4864176Z               "line": 70
2026-06-09T03:00:38.4864262Z             },
2026-06-09T03:00:38.4864342Z             {
2026-06-09T03:00:38.4864457Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4864544Z               "line": 96
2026-06-09T03:00:38.4864618Z             },
2026-06-09T03:00:38.4864699Z             {
2026-06-09T03:00:38.4864804Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4864894Z               "line": 121
2026-06-09T03:00:38.4864973Z             },
2026-06-09T03:00:38.4865049Z             {
2026-06-09T03:00:38.4865154Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4865237Z               "line": 172
2026-06-09T03:00:38.4865316Z             },
2026-06-09T03:00:38.4865397Z             {
2026-06-09T03:00:38.4865526Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4865612Z               "line": 143
2026-06-09T03:00:38.4865693Z             },
2026-06-09T03:00:38.4865769Z             {
2026-06-09T03:00:38.4865870Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4865955Z               "line": 895
2026-06-09T03:00:38.4866031Z             }
2026-06-09T03:00:38.4866119Z           ]
2026-06-09T03:00:38.4866194Z         },
2026-06-09T03:00:38.4866275Z         "int": {
2026-06-09T03:00:38.4866365Z           "complete": false,
2026-06-09T03:00:38.4866452Z           "evidence": []
2026-06-09T03:00:38.4866527Z         },
2026-06-09T03:00:38.4866608Z         "unit": {
2026-06-09T03:00:38.4866695Z           "complete": true,
2026-06-09T03:00:38.4866781Z           "evidence": [
2026-06-09T03:00:38.4866861Z             {
2026-06-09T03:00:38.4867077Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4867162Z               "line": 545
2026-06-09T03:00:38.4867261Z             },
2026-06-09T03:00:38.4867339Z             {
2026-06-09T03:00:38.4867462Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.4867547Z               "line": 606
2026-06-09T03:00:38.4867623Z             },
2026-06-09T03:00:38.4867704Z             {
2026-06-09T03:00:38.4867810Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4867895Z               "line": 213
2026-06-09T03:00:38.4867971Z             },
2026-06-09T03:00:38.4868053Z             {
2026-06-09T03:00:38.4868158Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4868243Z               "line": 249
2026-06-09T03:00:38.4868319Z             },
2026-06-09T03:00:38.4868396Z             {
2026-06-09T03:00:38.4868505Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4868590Z               "line": 262
2026-06-09T03:00:38.4868669Z             },
2026-06-09T03:00:38.4868749Z             {
2026-06-09T03:00:38.4868858Z               "path": "crates/spt-store/src/home.rs",
2026-06-09T03:00:38.4868944Z               "line": 338
2026-06-09T03:00:38.4869021Z             },
2026-06-09T03:00:38.4869102Z             {
2026-06-09T03:00:38.4869215Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.4869298Z               "line": 496
2026-06-09T03:00:38.4869379Z             },
2026-06-09T03:00:38.4869454Z             {
2026-06-09T03:00:38.4869559Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4869641Z               "line": 5080
2026-06-09T03:00:38.4869726Z             },
2026-06-09T03:00:38.4869801Z             {
2026-06-09T03:00:38.4869899Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4869985Z               "line": 6454
2026-06-09T03:00:38.4870064Z             }
2026-06-09T03:00:38.4870144Z           ]
2026-06-09T03:00:38.4870220Z         }
2026-06-09T03:00:38.4870302Z       }
2026-06-09T03:00:38.4870382Z     },
2026-06-09T03:00:38.4870461Z     {
2026-06-09T03:00:38.4870672Z       "id": "REQ-INST-2",
2026-06-09T03:00:38.4870877Z       "title": "Per-node files, synced Psyche mind",
2026-06-09T03:00:38.4870968Z       "requiredStages": [
2026-06-09T03:00:38.4871048Z         "impl",
2026-06-09T03:00:38.4871129Z         "unit"
2026-06-09T03:00:38.4871211Z       ],
2026-06-09T03:00:38.4871292Z       "stages": {
2026-06-09T03:00:38.4871373Z         "doc": {
2026-06-09T03:00:38.4871463Z           "complete": false,
2026-06-09T03:00:38.4871550Z           "evidence": []
2026-06-09T03:00:38.4871631Z         },
2026-06-09T03:00:38.4871711Z         "impl": {
2026-06-09T03:00:38.4871802Z           "complete": true,
2026-06-09T03:00:38.4871884Z           "evidence": [
2026-06-09T03:00:38.4871964Z             {
2026-06-09T03:00:38.4872082Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4872165Z               "line": 86
2026-06-09T03:00:38.4872246Z             },
2026-06-09T03:00:38.4872326Z             {
2026-06-09T03:00:38.4872431Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4872532Z               "line": 28
2026-06-09T03:00:38.4872612Z             },
2026-06-09T03:00:38.4872692Z             {
2026-06-09T03:00:38.4872797Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4872878Z               "line": 74
2026-06-09T03:00:38.4872957Z             },
2026-06-09T03:00:38.4873038Z             {
2026-06-09T03:00:38.4873138Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4873224Z               "line": 96
2026-06-09T03:00:38.4873305Z             },
2026-06-09T03:00:38.4873385Z             {
2026-06-09T03:00:38.4873487Z               "path": "crates/spt-live/src/resume.rs",
2026-06-09T03:00:38.4873572Z               "line": 81
2026-06-09T03:00:38.4873648Z             },
2026-06-09T03:00:38.4873729Z             {
2026-06-09T03:00:38.4873835Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-09T03:00:38.4873921Z               "line": 118
2026-06-09T03:00:38.4874005Z             }
2026-06-09T03:00:38.4874088Z           ]
2026-06-09T03:00:38.4874169Z         },
2026-06-09T03:00:38.4874255Z         "int": {
2026-06-09T03:00:38.4874340Z           "complete": false,
2026-06-09T03:00:38.4874426Z           "evidence": []
2026-06-09T03:00:38.4874502Z         },
2026-06-09T03:00:38.4874583Z         "unit": {
2026-06-09T03:00:38.4874669Z           "complete": true,
2026-06-09T03:00:38.4874756Z           "evidence": [
2026-06-09T03:00:38.4874836Z             {
2026-06-09T03:00:38.4874936Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-09T03:00:38.4875022Z               "line": 212
2026-06-09T03:00:38.4875099Z             },
2026-06-09T03:00:38.4875179Z             {
2026-06-09T03:00:38.4875278Z               "path": "crates/spt-live/src/resume.rs",
2026-06-09T03:00:38.4875369Z               "line": 258
2026-06-09T03:00:38.4875445Z             }
2026-06-09T03:00:38.4875524Z           ]
2026-06-09T03:00:38.4875605Z         }
2026-06-09T03:00:38.4875681Z       }
2026-06-09T03:00:38.4875767Z     },
2026-06-09T03:00:38.4875853Z     {
2026-06-09T03:00:38.4875943Z       "id": "REQ-INST-3",
2026-06-09T03:00:38.4876087Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-09T03:00:38.4876172Z       "requiredStages": [
2026-06-09T03:00:38.4876253Z         "doc",
2026-06-09T03:00:38.4876334Z         "impl",
2026-06-09T03:00:38.4876415Z         "unit"
2026-06-09T03:00:38.4876496Z       ],
2026-06-09T03:00:38.4876577Z       "stages": {
2026-06-09T03:00:38.4876659Z         "doc": {
2026-06-09T03:00:38.4876744Z           "complete": true,
2026-06-09T03:00:38.4876825Z           "evidence": [
2026-06-09T03:00:38.4876906Z             {
2026-06-09T03:00:38.4877097Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-09T03:00:38.4877178Z               "line": 3
2026-06-09T03:00:38.4877260Z             }
2026-06-09T03:00:38.4877342Z           ]
2026-06-09T03:00:38.4877421Z         },
2026-06-09T03:00:38.4877507Z         "impl": {
2026-06-09T03:00:38.4877594Z           "complete": true,
2026-06-09T03:00:38.4877870Z           "evidence": [
2026-06-09T03:00:38.4877947Z             {
2026-06-09T03:00:38.4878064Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-09T03:00:38.4878145Z               "line": 70
2026-06-09T03:00:38.4878226Z             },
2026-06-09T03:00:38.4878303Z             {
2026-06-09T03:00:38.4878422Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.4878507Z               "line": 480
2026-06-09T03:00:38.4878584Z             },
2026-06-09T03:00:38.4878665Z             {
2026-06-09T03:00:38.4878779Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4878860Z               "line": 202
2026-06-09T03:00:38.4878947Z             },
2026-06-09T03:00:38.4879028Z             {
2026-06-09T03:00:38.4879137Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4879219Z               "line": 291
2026-06-09T03:00:38.4879299Z             },
2026-06-09T03:00:38.4879385Z             {
2026-06-09T03:00:38.4879500Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4879586Z               "line": 325
2026-06-09T03:00:38.4879662Z             },
2026-06-09T03:00:38.4879743Z             {
2026-06-09T03:00:38.4879853Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4879943Z               "line": 341
2026-06-09T03:00:38.4880024Z             },
2026-06-09T03:00:38.4880100Z             {
2026-06-09T03:00:38.4880225Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4880305Z               "line": 218
2026-06-09T03:00:38.4880386Z             },
2026-06-09T03:00:38.4880464Z             {
2026-06-09T03:00:38.4880583Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4880672Z               "line": 374
2026-06-09T03:00:38.4880747Z             },
2026-06-09T03:00:38.4880829Z             {
2026-06-09T03:00:38.4880937Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4881040Z               "line": 45
2026-06-09T03:00:38.4881117Z             },
2026-06-09T03:00:38.4881194Z             {
2026-06-09T03:00:38.4881303Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4881388Z               "line": 114
2026-06-09T03:00:38.4881466Z             },
2026-06-09T03:00:38.4881547Z             {
2026-06-09T03:00:38.4881656Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4881737Z               "line": 152
2026-06-09T03:00:38.4881819Z             },
2026-06-09T03:00:38.4881899Z             {
2026-06-09T03:00:38.4882004Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4882091Z               "line": 168
2026-06-09T03:00:38.4882167Z             },
2026-06-09T03:00:38.4882248Z             {
2026-06-09T03:00:38.4882357Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4882439Z               "line": 178
2026-06-09T03:00:38.4882519Z             },
2026-06-09T03:00:38.4882601Z             {
2026-06-09T03:00:38.4882715Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4882797Z               "line": 210
2026-06-09T03:00:38.4882881Z             },
2026-06-09T03:00:38.4882958Z             {
2026-06-09T03:00:38.4883064Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4883149Z               "line": 287
2026-06-09T03:00:38.4883229Z             },
2026-06-09T03:00:38.4883305Z             {
2026-06-09T03:00:38.4883414Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4883495Z               "line": 311
2026-06-09T03:00:38.4883574Z             },
2026-06-09T03:00:38.4883655Z             {
2026-06-09T03:00:38.4883761Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4883842Z               "line": 387
2026-06-09T03:00:38.4883922Z             },
2026-06-09T03:00:38.4883999Z             {
2026-06-09T03:00:38.4884109Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4884333Z               "line": 436
2026-06-09T03:00:38.4884409Z             },
2026-06-09T03:00:38.4884490Z             {
2026-06-09T03:00:38.4884599Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-09T03:00:38.4884681Z               "line": 37
2026-06-09T03:00:38.4884762Z             },
2026-06-09T03:00:38.4884843Z             {
2026-06-09T03:00:38.4884953Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4885034Z               "line": 62
2026-06-09T03:00:38.4885118Z             },
2026-06-09T03:00:38.4885195Z             {
2026-06-09T03:00:38.4885301Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4885387Z               "line": 190
2026-06-09T03:00:38.4885467Z             },
2026-06-09T03:00:38.4885548Z             {
2026-06-09T03:00:38.4885645Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4885730Z               "line": 1151
2026-06-09T03:00:38.4885810Z             }
2026-06-09T03:00:38.4885895Z           ]
2026-06-09T03:00:38.4885981Z         },
2026-06-09T03:00:38.4886061Z         "int": {
2026-06-09T03:00:38.4886150Z           "complete": false,
2026-06-09T03:00:38.4886231Z           "evidence": []
2026-06-09T03:00:38.4886313Z         },
2026-06-09T03:00:38.4886395Z         "unit": {
2026-06-09T03:00:38.4886479Z           "complete": true,
2026-06-09T03:00:38.4886561Z           "evidence": [
2026-06-09T03:00:38.4886642Z             {
2026-06-09T03:00:38.4886751Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.4886837Z               "line": 360
2026-06-09T03:00:38.4886904Z             },
2026-06-09T03:00:38.4887071Z             {
2026-06-09T03:00:38.4887175Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4887263Z               "line": 664
2026-06-09T03:00:38.4887342Z             },
2026-06-09T03:00:38.4887418Z             {
2026-06-09T03:00:38.4887529Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4887620Z               "line": 721
2026-06-09T03:00:38.4887715Z             },
2026-06-09T03:00:38.4887815Z             {
2026-06-09T03:00:38.4887925Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4888000Z               "line": 1182
2026-06-09T03:00:38.4888081Z             },
2026-06-09T03:00:38.4888159Z             {
2026-06-09T03:00:38.4888282Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4888372Z               "line": 1322
2026-06-09T03:00:38.4888454Z             },
2026-06-09T03:00:38.4888531Z             {
2026-06-09T03:00:38.4888643Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4888729Z               "line": 447
2026-06-09T03:00:38.4888805Z             },
2026-06-09T03:00:38.4888887Z             {
2026-06-09T03:00:38.4888991Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4889076Z               "line": 483
2026-06-09T03:00:38.4889154Z             },
2026-06-09T03:00:38.4889240Z             {
2026-06-09T03:00:38.4889358Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4889440Z               "line": 538
2026-06-09T03:00:38.4889521Z             },
2026-06-09T03:00:38.4889597Z             {
2026-06-09T03:00:38.4889706Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4889794Z               "line": 695
2026-06-09T03:00:38.4889869Z             },
2026-06-09T03:00:38.4889950Z             {
2026-06-09T03:00:38.4890055Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4890142Z               "line": 929
2026-06-09T03:00:38.4890222Z             },
2026-06-09T03:00:38.4890298Z             {
2026-06-09T03:00:38.4890403Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4890489Z               "line": 943
2026-06-09T03:00:38.4890569Z             },
2026-06-09T03:00:38.4890646Z             {
2026-06-09T03:00:38.4890757Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4891029Z               "line": 1193
2026-06-09T03:00:38.4891105Z             },
2026-06-09T03:00:38.4891184Z             {
2026-06-09T03:00:38.4891293Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.4891374Z               "line": 413
2026-06-09T03:00:38.4891455Z             },
2026-06-09T03:00:38.4891539Z             {
2026-06-09T03:00:38.4891643Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4891726Z               "line": 5104
2026-06-09T03:00:38.4891807Z             }
2026-06-09T03:00:38.4891882Z           ]
2026-06-09T03:00:38.4891963Z         }
2026-06-09T03:00:38.4892041Z       }
2026-06-09T03:00:38.4892121Z     },
2026-06-09T03:00:38.4892202Z     {
2026-06-09T03:00:38.4892292Z       "id": "REQ-INST-4",
2026-06-09T03:00:38.4892460Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-09T03:00:38.4892550Z       "requiredStages": [
2026-06-09T03:00:38.4892631Z         "impl",
2026-06-09T03:00:38.4892727Z         "unit"
2026-06-09T03:00:38.4892817Z       ],
2026-06-09T03:00:38.4892902Z       "stages": {
2026-06-09T03:00:38.4892985Z         "doc": {
2026-06-09T03:00:38.4893074Z           "complete": false,
2026-06-09T03:00:38.4893156Z           "evidence": []
2026-06-09T03:00:38.4893241Z         },
2026-06-09T03:00:38.4893328Z         "impl": {
2026-06-09T03:00:38.4893417Z           "complete": true,
2026-06-09T03:00:38.4893508Z           "evidence": [
2026-06-09T03:00:38.4893585Z             {
2026-06-09T03:00:38.4893704Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4893789Z               "line": 292
2026-06-09T03:00:38.4893869Z             },
2026-06-09T03:00:38.4893951Z             {
2026-06-09T03:00:38.4894068Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4894153Z               "line": 202
2026-06-09T03:00:38.4894234Z             },
2026-06-09T03:00:38.4894321Z             {
2026-06-09T03:00:38.4894430Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4894530Z               "line": 234
2026-06-09T03:00:38.4894607Z             },
2026-06-09T03:00:38.4894692Z             {
2026-06-09T03:00:38.4894801Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4894888Z               "line": 274
2026-06-09T03:00:38.4894969Z             }
2026-06-09T03:00:38.4895046Z           ]
2026-06-09T03:00:38.4895125Z         },
2026-06-09T03:00:38.4895208Z         "int": {
2026-06-09T03:00:38.4895298Z           "complete": false,
2026-06-09T03:00:38.4895384Z           "evidence": []
2026-06-09T03:00:38.4895464Z         },
2026-06-09T03:00:38.4895547Z         "unit": {
2026-06-09T03:00:38.4895637Z           "complete": true,
2026-06-09T03:00:38.4895722Z           "evidence": [
2026-06-09T03:00:38.4895803Z             {
2026-06-09T03:00:38.4895919Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.4896003Z               "line": 716
2026-06-09T03:00:38.4896094Z             },
2026-06-09T03:00:38.4896186Z             {
2026-06-09T03:00:38.4896295Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4896379Z               "line": 559
2026-06-09T03:00:38.4896455Z             },
2026-06-09T03:00:38.4896541Z             {
2026-06-09T03:00:38.4896649Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4896734Z               "line": 666
2026-06-09T03:00:38.4896816Z             },
2026-06-09T03:00:38.4896897Z             {
2026-06-09T03:00:38.4897092Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4897179Z               "line": 748
2026-06-09T03:00:38.4897260Z             }
2026-06-09T03:00:38.4897344Z           ]
2026-06-09T03:00:38.4897421Z         }
2026-06-09T03:00:38.4897503Z       }
2026-06-09T03:00:38.4897583Z     },
2026-06-09T03:00:38.4897664Z     {
2026-06-09T03:00:38.4897750Z       "id": "REQ-INST-5",
2026-06-09T03:00:38.4897922Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-09T03:00:38.4898217Z       "requiredStages": [
2026-06-09T03:00:38.4898298Z         "impl",
2026-06-09T03:00:38.4898385Z         "unit",
2026-06-09T03:00:38.4898467Z         "int"
2026-06-09T03:00:38.4898551Z       ],
2026-06-09T03:00:38.4898632Z       "stages": {
2026-06-09T03:00:38.4898714Z         "doc": {
2026-06-09T03:00:38.4898805Z           "complete": false,
2026-06-09T03:00:38.4898889Z           "evidence": []
2026-06-09T03:00:38.4898971Z         },
2026-06-09T03:00:38.4899053Z         "impl": {
2026-06-09T03:00:38.4899143Z           "complete": true,
2026-06-09T03:00:38.4899227Z           "evidence": [
2026-06-09T03:00:38.4899312Z             {
2026-06-09T03:00:38.4899428Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4899514Z               "line": 41
2026-06-09T03:00:38.4899594Z             },
2026-06-09T03:00:38.4899676Z             {
2026-06-09T03:00:38.4899785Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4899875Z               "line": 68
2026-06-09T03:00:38.4899961Z             },
2026-06-09T03:00:38.4900044Z             {
2026-06-09T03:00:38.4900149Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4900233Z               "line": 99
2026-06-09T03:00:38.4900315Z             },
2026-06-09T03:00:38.4900396Z             {
2026-06-09T03:00:38.4900496Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4900581Z               "line": 183
2026-06-09T03:00:38.4900663Z             },
2026-06-09T03:00:38.4900744Z             {
2026-06-09T03:00:38.4900848Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4900929Z               "line": 314
2026-06-09T03:00:38.4901012Z             }
2026-06-09T03:00:38.4901091Z           ]
2026-06-09T03:00:38.4901177Z         },
2026-06-09T03:00:38.4901264Z         "int": {
2026-06-09T03:00:38.4901350Z           "complete": true,
2026-06-09T03:00:38.4901439Z           "evidence": [
2026-06-09T03:00:38.4901521Z             {
2026-06-09T03:00:38.4901651Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.4901735Z               "line": 156
2026-06-09T03:00:38.4901821Z             },
2026-06-09T03:00:38.4901901Z             {
2026-06-09T03:00:38.4902015Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-09T03:00:38.4902099Z               "line": 102
2026-06-09T03:00:38.4902180Z             },
2026-06-09T03:00:38.4902261Z             {
2026-06-09T03:00:38.4902376Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4902466Z               "line": 636
2026-06-09T03:00:38.4902548Z             },
2026-06-09T03:00:38.4902629Z             {
2026-06-09T03:00:38.4902738Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4902823Z               "line": 973
2026-06-09T03:00:38.4902901Z             }
2026-06-09T03:00:38.4902982Z           ]
2026-06-09T03:00:38.4903062Z         },
2026-06-09T03:00:38.4903143Z         "unit": {
2026-06-09T03:00:38.4903235Z           "complete": true,
2026-06-09T03:00:38.4903329Z           "evidence": [
2026-06-09T03:00:38.4903410Z             {
2026-06-09T03:00:38.4903516Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4903606Z               "line": 531
2026-06-09T03:00:38.4903687Z             },
2026-06-09T03:00:38.4903773Z             {
2026-06-09T03:00:38.4903874Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.4903963Z               "line": 574
2026-06-09T03:00:38.4904045Z             },
2026-06-09T03:00:38.4904126Z             {
2026-06-09T03:00:38.4904236Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-09T03:00:38.4904320Z               "line": 219
2026-06-09T03:00:38.4904405Z             }
2026-06-09T03:00:38.4904482Z           ]
2026-06-09T03:00:38.4904563Z         }
2026-06-09T03:00:38.4904642Z       }
2026-06-09T03:00:38.4904727Z     },
2026-06-09T03:00:38.4904809Z     {
2026-06-09T03:00:38.4904896Z       "id": "REQ-INST-6",
2026-06-09T03:00:38.4905210Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-09T03:00:38.4905300Z       "requiredStages": [
2026-06-09T03:00:38.4905385Z         "impl",
2026-06-09T03:00:38.4905463Z         "unit",
2026-06-09T03:00:38.4905549Z         "int"
2026-06-09T03:00:38.4905629Z       ],
2026-06-09T03:00:38.4905710Z       "stages": {
2026-06-09T03:00:38.4905792Z         "doc": {
2026-06-09T03:00:38.4905882Z           "complete": true,
2026-06-09T03:00:38.4905968Z           "evidence": [
2026-06-09T03:00:38.4906044Z             {
2026-06-09T03:00:38.4906145Z               "path": "docs/DEFERRED.md",
2026-06-09T03:00:38.4906239Z               "line": 13
2026-06-09T03:00:38.4906316Z             }
2026-06-09T03:00:38.4906397Z           ]
2026-06-09T03:00:38.4906479Z         },
2026-06-09T03:00:38.4906559Z         "impl": {
2026-06-09T03:00:38.4906649Z           "complete": true,
2026-06-09T03:00:38.4906732Z           "evidence": [
2026-06-09T03:00:38.4906822Z             {
2026-06-09T03:00:38.4907039Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.4907125Z               "line": 391
2026-06-09T03:00:38.4907204Z             },
2026-06-09T03:00:38.4907289Z             {
2026-06-09T03:00:38.4907400Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-09T03:00:38.4907487Z               "line": 27
2026-06-09T03:00:38.4907571Z             },
2026-06-09T03:00:38.4907647Z             {
2026-06-09T03:00:38.4907763Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-09T03:00:38.4907844Z               "line": 73
2026-06-09T03:00:38.4907923Z             },
2026-06-09T03:00:38.4908010Z             {
2026-06-09T03:00:38.4908115Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-09T03:00:38.4908196Z               "line": 182
2026-06-09T03:00:38.4908267Z             },
2026-06-09T03:00:38.4908344Z             {
2026-06-09T03:00:38.4908463Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4908548Z               "line": 424
2026-06-09T03:00:38.4908635Z             },
2026-06-09T03:00:38.4908721Z             {
2026-06-09T03:00:38.4908830Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-09T03:00:38.4908916Z               "line": 31
2026-06-09T03:00:38.4909017Z             },
2026-06-09T03:00:38.4909111Z             {
2026-06-09T03:00:38.4909221Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.4909303Z               "line": 182
2026-06-09T03:00:38.4909384Z             },
2026-06-09T03:00:38.4909468Z             {
2026-06-09T03:00:38.4909574Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4909680Z               "line": 81
2026-06-09T03:00:38.4909759Z             },
2026-06-09T03:00:38.4909835Z             {
2026-06-09T03:00:38.4909935Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4910022Z               "line": 1152
2026-06-09T03:00:38.4910102Z             },
2026-06-09T03:00:38.4910187Z             {
2026-06-09T03:00:38.4910294Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.4910380Z               "line": 179
2026-06-09T03:00:38.4910459Z             },
2026-06-09T03:00:38.4910535Z             {
2026-06-09T03:00:38.4910637Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.4910723Z               "line": 215
2026-06-09T03:00:38.4910798Z             }
2026-06-09T03:00:38.4910880Z           ]
2026-06-09T03:00:38.4910957Z         },
2026-06-09T03:00:38.4911037Z         "int": {
2026-06-09T03:00:38.4911127Z           "complete": true,
2026-06-09T03:00:38.4911218Z           "evidence": [
2026-06-09T03:00:38.4911299Z             {
2026-06-09T03:00:38.4911413Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4911494Z               "line": 650
2026-06-09T03:00:38.4911577Z             },
2026-06-09T03:00:38.4911656Z             {
2026-06-09T03:00:38.4911771Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4911953Z               "line": 1018
2026-06-09T03:00:38.4912119Z             },
2026-06-09T03:00:38.4912202Z             {
2026-06-09T03:00:38.4912300Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.4912385Z               "line": 725
2026-06-09T03:00:38.4912466Z             }
2026-06-09T03:00:38.4912547Z           ]
2026-06-09T03:00:38.4912626Z         },
2026-06-09T03:00:38.4912707Z         "unit": {
2026-06-09T03:00:38.4912802Z           "complete": true,
2026-06-09T03:00:38.4912889Z           "evidence": [
2026-06-09T03:00:38.4912969Z             {
2026-06-09T03:00:38.4913088Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.4913175Z               "line": 660
2026-06-09T03:00:38.4913256Z             },
2026-06-09T03:00:38.4913336Z             {
2026-06-09T03:00:38.4913446Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.4913537Z               "line": 897
2026-06-09T03:00:38.4913618Z             },
2026-06-09T03:00:38.4913708Z             {
2026-06-09T03:00:38.4913828Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-09T03:00:38.4913914Z               "line": 66
2026-06-09T03:00:38.4913999Z             },
2026-06-09T03:00:38.4914076Z             {
2026-06-09T03:00:38.4914185Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.4914266Z               "line": 272
2026-06-09T03:00:38.4914352Z             },
2026-06-09T03:00:38.4914434Z             {
2026-06-09T03:00:38.4914547Z               "path": "crates/spt/src/api/worker.rs",
2026-06-09T03:00:38.4914633Z               "line": 201
2026-06-09T03:00:38.4914715Z             }
2026-06-09T03:00:38.4914796Z           ]
2026-06-09T03:00:38.4914876Z         }
2026-06-09T03:00:38.4914961Z       }
2026-06-09T03:00:38.4915047Z     },
2026-06-09T03:00:38.4915123Z     {
2026-06-09T03:00:38.4915212Z       "id": "REQ-INST-7",
2026-06-09T03:00:38.4915340Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-09T03:00:38.4915441Z       "requiredStages": [
2026-06-09T03:00:38.4915531Z         "impl",
2026-06-09T03:00:38.4915616Z         "unit",
2026-06-09T03:00:38.4915698Z         "int"
2026-06-09T03:00:38.4915775Z       ],
2026-06-09T03:00:38.4915860Z       "stages": {
2026-06-09T03:00:38.4915945Z         "doc": {
2026-06-09T03:00:38.4916038Z           "complete": false,
2026-06-09T03:00:38.4916123Z           "evidence": []
2026-06-09T03:00:38.4916208Z         },
2026-06-09T03:00:38.4916294Z         "impl": {
2026-06-09T03:00:38.4916380Z           "complete": true,
2026-06-09T03:00:38.4916471Z           "evidence": [
2026-06-09T03:00:38.4916551Z             {
2026-06-09T03:00:38.4916667Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.4916752Z               "line": 436
2026-06-09T03:00:38.4916833Z             },
2026-06-09T03:00:38.4916914Z             {
2026-06-09T03:00:38.4917114Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.4917200Z               "line": 42
2026-06-09T03:00:38.4917297Z             },
2026-06-09T03:00:38.4917382Z             {
2026-06-09T03:00:38.4917504Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4917594Z               "line": 27
2026-06-09T03:00:38.4917676Z             },
2026-06-09T03:00:38.4917760Z             {
2026-06-09T03:00:38.4917878Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4917960Z               "line": 191
2026-06-09T03:00:38.4918047Z             },
2026-06-09T03:00:38.4918127Z             {
2026-06-09T03:00:38.4918246Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4918337Z               "line": 328
2026-06-09T03:00:38.4918418Z             },
2026-06-09T03:00:38.4918498Z             {
2026-06-09T03:00:38.4918609Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-09T03:00:38.4918694Z               "line": 59
2026-06-09T03:00:38.4918770Z             },
2026-06-09T03:00:38.4918851Z             {
2026-06-09T03:00:38.4919071Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4919243Z               "line": 41
2026-06-09T03:00:38.4919324Z             },
2026-06-09T03:00:38.4919405Z             {
2026-06-09T03:00:38.4919525Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4919605Z               "line": 27
2026-06-09T03:00:38.4919685Z             },
2026-06-09T03:00:38.4919766Z             {
2026-06-09T03:00:38.4919873Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4919958Z               "line": 119
2026-06-09T03:00:38.4920042Z             },
2026-06-09T03:00:38.4920139Z             {
2026-06-09T03:00:38.4920259Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4920348Z               "line": 134
2026-06-09T03:00:38.4920428Z             },
2026-06-09T03:00:38.4920505Z             {
2026-06-09T03:00:38.4920615Z               "path": "crates/spt-store/src/registry.rs",
2026-06-09T03:00:38.4920705Z               "line": 139
2026-06-09T03:00:38.4920801Z             }
2026-06-09T03:00:38.4920883Z           ]
2026-06-09T03:00:38.4920959Z         },
2026-06-09T03:00:38.4921043Z         "int": {
2026-06-09T03:00:38.4921130Z           "complete": true,
2026-06-09T03:00:38.4921216Z           "evidence": [
2026-06-09T03:00:38.4921297Z             {
2026-06-09T03:00:38.4921411Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-09T03:00:38.4921498Z               "line": 102
2026-06-09T03:00:38.4921577Z             },
2026-06-09T03:00:38.4921658Z             {
2026-06-09T03:00:38.4921774Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4921860Z               "line": 594
2026-06-09T03:00:38.4921940Z             },
2026-06-09T03:00:38.4922016Z             {
2026-06-09T03:00:38.4922132Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4922221Z               "line": 868
2026-06-09T03:00:38.4922302Z             }
2026-06-09T03:00:38.4922389Z           ]
2026-06-09T03:00:38.4922475Z         },
2026-06-09T03:00:38.4922555Z         "unit": {
2026-06-09T03:00:38.4922646Z           "complete": true,
2026-06-09T03:00:38.4922733Z           "evidence": [
2026-06-09T03:00:38.4922809Z             {
2026-06-09T03:00:38.4922926Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4923016Z               "line": 1052
2026-06-09T03:00:38.4923093Z             },
2026-06-09T03:00:38.4923178Z             {
2026-06-09T03:00:38.4923296Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.4925179Z               "line": 1383
2026-06-09T03:00:38.4925285Z             },
2026-06-09T03:00:38.4925375Z             {
2026-06-09T03:00:38.4925512Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-09T03:00:38.4925602Z               "line": 84
2026-06-09T03:00:38.4925683Z             },
2026-06-09T03:00:38.4925762Z             {
2026-06-09T03:00:38.4925890Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4925992Z               "line": 763
2026-06-09T03:00:38.4926072Z             },
2026-06-09T03:00:38.4926153Z             {
2026-06-09T03:00:38.4926273Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4926359Z               "line": 774
2026-06-09T03:00:38.4926439Z             },
2026-06-09T03:00:38.4926520Z             {
2026-06-09T03:00:38.4926635Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4926721Z               "line": 789
2026-06-09T03:00:38.4926802Z             },
2026-06-09T03:00:38.4926883Z             {
2026-06-09T03:00:38.4927097Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4927184Z               "line": 165
2026-06-09T03:00:38.4927265Z             },
2026-06-09T03:00:38.4927345Z             {
2026-06-09T03:00:38.4927460Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4927547Z               "line": 180
2026-06-09T03:00:38.4927751Z             },
2026-06-09T03:00:38.4927937Z             {
2026-06-09T03:00:38.4928055Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.4928140Z               "line": 213
2026-06-09T03:00:38.4928222Z             }
2026-06-09T03:00:38.4928301Z           ]
2026-06-09T03:00:38.4928381Z         }
2026-06-09T03:00:38.4928462Z       }
2026-06-09T03:00:38.4928544Z     },
2026-06-09T03:00:38.4928625Z     {
2026-06-09T03:00:38.4928715Z       "id": "REQ-INST-8",
2026-06-09T03:00:38.4928859Z       "title": "Remote-control mode distinct from local operation",
2026-06-09T03:00:38.4928954Z       "requiredStages": [
2026-06-09T03:00:38.4929034Z         "impl",
2026-06-09T03:00:38.4929116Z         "unit",
2026-06-09T03:00:38.4929197Z         "int"
2026-06-09T03:00:38.4929278Z       ],
2026-06-09T03:00:38.4929363Z       "stages": {
2026-06-09T03:00:38.4929440Z         "doc": {
2026-06-09T03:00:38.4929531Z           "complete": false,
2026-06-09T03:00:38.4929617Z           "evidence": []
2026-06-09T03:00:38.4929707Z         },
2026-06-09T03:00:38.4929799Z         "impl": {
2026-06-09T03:00:38.4929893Z           "complete": true,
2026-06-09T03:00:38.4929974Z           "evidence": [
2026-06-09T03:00:38.4930056Z             {
2026-06-09T03:00:38.4930170Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-09T03:00:38.4930255Z               "line": 98
2026-06-09T03:00:38.4930336Z             },
2026-06-09T03:00:38.4930414Z             {
2026-06-09T03:00:38.4930528Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-09T03:00:38.4930612Z               "line": 209
2026-06-09T03:00:38.4930690Z             },
2026-06-09T03:00:38.4930771Z             {
2026-06-09T03:00:38.4930884Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-09T03:00:38.4930969Z               "line": 230
2026-06-09T03:00:38.4931046Z             },
2026-06-09T03:00:38.4931128Z             {
2026-06-09T03:00:38.4931241Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-09T03:00:38.4931336Z               "line": 35
2026-06-09T03:00:38.4931428Z             }
2026-06-09T03:00:38.4931509Z           ]
2026-06-09T03:00:38.4931589Z         },
2026-06-09T03:00:38.4931670Z         "int": {
2026-06-09T03:00:38.4931757Z           "complete": true,
2026-06-09T03:00:38.4931843Z           "evidence": [
2026-06-09T03:00:38.4931923Z             {
2026-06-09T03:00:38.4932038Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.4932119Z               "line": 414
2026-06-09T03:00:38.4932200Z             },
2026-06-09T03:00:38.4932281Z             {
2026-06-09T03:00:38.4932396Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.4932480Z               "line": 932
2026-06-09T03:00:38.4932557Z             }
2026-06-09T03:00:38.4932639Z           ]
2026-06-09T03:00:38.4932716Z         },
2026-06-09T03:00:38.4932800Z         "unit": {
2026-06-09T03:00:38.4932881Z           "complete": true,
2026-06-09T03:00:38.4932964Z           "evidence": [
2026-06-09T03:00:38.4933055Z             {
2026-06-09T03:00:38.4933167Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-09T03:00:38.4933254Z               "line": 181
2026-06-09T03:00:38.4933341Z             },
2026-06-09T03:00:38.4933444Z             {
2026-06-09T03:00:38.4933557Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-09T03:00:38.4933639Z               "line": 259
2026-06-09T03:00:38.4933719Z             },
2026-06-09T03:00:38.4933803Z             {
2026-06-09T03:00:38.4933913Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-09T03:00:38.4933995Z               "line": 70
2026-06-09T03:00:38.4934076Z             },
2026-06-09T03:00:38.4934156Z             {
2026-06-09T03:00:38.4934266Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-09T03:00:38.4934352Z               "line": 110
2026-06-09T03:00:38.4934428Z             }
2026-06-09T03:00:38.4934509Z           ]
2026-06-09T03:00:38.4934586Z         }
2026-06-09T03:00:38.4934667Z       }
2026-06-09T03:00:38.4934887Z     },
2026-06-09T03:00:38.4934963Z     {
2026-06-09T03:00:38.4935053Z       "id": "REQ-INST-9",
2026-06-09T03:00:38.4935225Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-09T03:00:38.4935315Z       "requiredStages": [
2026-06-09T03:00:38.4935396Z         "impl",
2026-06-09T03:00:38.4935482Z         "unit"
2026-06-09T03:00:38.4935559Z       ],
2026-06-09T03:00:38.4935644Z       "stages": {
2026-06-09T03:00:38.4935725Z         "doc": {
2026-06-09T03:00:38.4935811Z           "complete": false,
2026-06-09T03:00:38.4935898Z           "evidence": []
2026-06-09T03:00:38.4935977Z         },
2026-06-09T03:00:38.4936063Z         "impl": {
2026-06-09T03:00:38.4936153Z           "complete": true,
2026-06-09T03:00:38.4936234Z           "evidence": [
2026-06-09T03:00:38.4936318Z             {
2026-06-09T03:00:38.4936431Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4936518Z               "line": 401
2026-06-09T03:00:38.4936604Z             }
2026-06-09T03:00:38.4936689Z           ]
2026-06-09T03:00:38.4936770Z         },
2026-06-09T03:00:38.4936848Z         "int": {
2026-06-09T03:00:38.4936938Z           "complete": false,
2026-06-09T03:00:38.4937114Z           "evidence": []
2026-06-09T03:00:38.4937196Z         },
2026-06-09T03:00:38.4937277Z         "unit": {
2026-06-09T03:00:38.4937362Z           "complete": true,
2026-06-09T03:00:38.4937448Z           "evidence": [
2026-06-09T03:00:38.4937524Z             {
2026-06-09T03:00:38.4937638Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4937724Z               "line": 1300
2026-06-09T03:00:38.4937807Z             },
2026-06-09T03:00:38.4937886Z             {
2026-06-09T03:00:38.4938001Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4938083Z               "line": 1309
2026-06-09T03:00:38.4938168Z             },
2026-06-09T03:00:38.4938248Z             {
2026-06-09T03:00:38.4938354Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4938455Z               "line": 1325
2026-06-09T03:00:38.4938530Z             },
2026-06-09T03:00:38.4938611Z             {
2026-06-09T03:00:38.4938724Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4938805Z               "line": 1337
2026-06-09T03:00:38.4938884Z             },
2026-06-09T03:00:38.4938965Z             {
2026-06-09T03:00:38.4939075Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.4939157Z               "line": 1357
2026-06-09T03:00:38.4939237Z             }
2026-06-09T03:00:38.4939318Z           ]
2026-06-09T03:00:38.4939395Z         }
2026-06-09T03:00:38.4939486Z       }
2026-06-09T03:00:38.4939576Z     },
2026-06-09T03:00:38.4939657Z     {
2026-06-09T03:00:38.4939743Z       "id": "REQ-INSTALL-1",
2026-06-09T03:00:38.4939919Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-09T03:00:38.4940010Z       "requiredStages": [
2026-06-09T03:00:38.4940096Z         "doc",
2026-06-09T03:00:38.4940186Z         "impl",
2026-06-09T03:00:38.4940267Z         "int"
2026-06-09T03:00:38.4940345Z       ],
2026-06-09T03:00:38.4940420Z       "stages": {
2026-06-09T03:00:38.4940505Z         "doc": {
2026-06-09T03:00:38.4940596Z           "complete": true,
2026-06-09T03:00:38.4940674Z           "evidence": [
2026-06-09T03:00:38.4940749Z             {
2026-06-09T03:00:38.4940834Z               "path": "CONTEXT.md",
2026-06-09T03:00:38.4940920Z               "line": 576
2026-06-09T03:00:38.4940998Z             }
2026-06-09T03:00:38.4941083Z           ]
2026-06-09T03:00:38.4941163Z         },
2026-06-09T03:00:38.4941240Z         "impl": {
2026-06-09T03:00:38.4941336Z           "complete": true,
2026-06-09T03:00:38.4941439Z           "evidence": [
2026-06-09T03:00:38.4941520Z             {
2026-06-09T03:00:38.4941611Z               "path": "installer/install.ps1",
2026-06-09T03:00:38.4941698Z               "line": 57
2026-06-09T03:00:38.4941778Z             },
2026-06-09T03:00:38.4941998Z             {
2026-06-09T03:00:38.4942212Z               "path": "installer/install.sh",
2026-06-09T03:00:38.4942293Z               "line": 52
2026-06-09T03:00:38.4942374Z             }
2026-06-09T03:00:38.4942450Z           ]
2026-06-09T03:00:38.4942531Z         },
2026-06-09T03:00:38.4942613Z         "int": {
2026-06-09T03:00:38.4942698Z           "complete": true,
2026-06-09T03:00:38.4942784Z           "evidence": [
2026-06-09T03:00:38.4942865Z             {
2026-06-09T03:00:38.4942980Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-09T03:00:38.4943060Z               "line": 21
2026-06-09T03:00:38.4943141Z             }
2026-06-09T03:00:38.4943224Z           ]
2026-06-09T03:00:38.4943300Z         },
2026-06-09T03:00:38.4943379Z         "unit": {
2026-06-09T03:00:38.4943466Z           "complete": false,
2026-06-09T03:00:38.4943553Z           "evidence": []
2026-06-09T03:00:38.4943633Z         }
2026-06-09T03:00:38.4943717Z       }
2026-06-09T03:00:38.4943805Z     },
2026-06-09T03:00:38.4943886Z     {
2026-06-09T03:00:38.4943980Z       "id": "REQ-INSTALL-2",
2026-06-09T03:00:38.4944108Z       "title": "Marketplace-repackaging-friendly install",
2026-06-09T03:00:38.4944199Z       "requiredStages": [
2026-06-09T03:00:38.4944279Z         "doc"
2026-06-09T03:00:38.4944363Z       ],
2026-06-09T03:00:38.4944449Z       "stages": {
2026-06-09T03:00:38.4944526Z         "doc": {
2026-06-09T03:00:38.4944617Z           "complete": true,
2026-06-09T03:00:38.4944701Z           "evidence": [
2026-06-09T03:00:38.4944783Z             {
2026-06-09T03:00:38.4944874Z               "path": "CONTEXT.md",
2026-06-09T03:00:38.4944961Z               "line": 577
2026-06-09T03:00:38.4945040Z             }
2026-06-09T03:00:38.4945122Z           ]
2026-06-09T03:00:38.4945203Z         },
2026-06-09T03:00:38.4945284Z         "impl": {
2026-06-09T03:00:38.4945374Z           "complete": false,
2026-06-09T03:00:38.4945461Z           "evidence": []
2026-06-09T03:00:38.4945542Z         },
2026-06-09T03:00:38.4945637Z         "int": {
2026-06-09T03:00:38.4945737Z           "complete": false,
2026-06-09T03:00:38.4945824Z           "evidence": []
2026-06-09T03:00:38.4945903Z         },
2026-06-09T03:00:38.4945984Z         "unit": {
2026-06-09T03:00:38.4946071Z           "complete": false,
2026-06-09T03:00:38.4946158Z           "evidence": []
2026-06-09T03:00:38.4946241Z         }
2026-06-09T03:00:38.4946318Z       }
2026-06-09T03:00:38.4946401Z     },
2026-06-09T03:00:38.4946482Z     {
2026-06-09T03:00:38.4946570Z       "id": "REQ-INSTALL-3",
2026-06-09T03:00:38.4946703Z       "title": "Idempotent + interactive-optional first run",
2026-06-09T03:00:38.4946799Z       "requiredStages": [
2026-06-09T03:00:38.4946883Z         "impl",
2026-06-09T03:00:38.4947045Z         "int"
2026-06-09T03:00:38.4947131Z       ],
2026-06-09T03:00:38.4947212Z       "stages": {
2026-06-09T03:00:38.4947302Z         "doc": {
2026-06-09T03:00:38.4947388Z           "complete": false,
2026-06-09T03:00:38.4947474Z           "evidence": []
2026-06-09T03:00:38.4947564Z         },
2026-06-09T03:00:38.4947650Z         "impl": {
2026-06-09T03:00:38.4947742Z           "complete": true,
2026-06-09T03:00:38.4947827Z           "evidence": [
2026-06-09T03:00:38.4947907Z             {
2026-06-09T03:00:38.4948008Z               "path": "installer/install.ps1",
2026-06-09T03:00:38.4948099Z               "line": 100
2026-06-09T03:00:38.4948184Z             },
2026-06-09T03:00:38.4948265Z             {
2026-06-09T03:00:38.4948367Z               "path": "installer/install.ps1",
2026-06-09T03:00:38.4948446Z               "line": 111
2026-06-09T03:00:38.4948527Z             },
2026-06-09T03:00:38.4948608Z             {
2026-06-09T03:00:38.4948710Z               "path": "installer/install.sh",
2026-06-09T03:00:38.4948794Z               "line": 79
2026-06-09T03:00:38.4948871Z             }
2026-06-09T03:00:38.4948953Z           ]
2026-06-09T03:00:38.4949034Z         },
2026-06-09T03:00:38.4949118Z         "int": {
2026-06-09T03:00:38.4949203Z           "complete": true,
2026-06-09T03:00:38.4949488Z           "evidence": [
2026-06-09T03:00:38.4949573Z             {
2026-06-09T03:00:38.4949693Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-09T03:00:38.4949778Z               "line": 167
2026-06-09T03:00:38.4949859Z             }
2026-06-09T03:00:38.4949940Z           ]
2026-06-09T03:00:38.4950017Z         },
2026-06-09T03:00:38.4950102Z         "unit": {
2026-06-09T03:00:38.4950192Z           "complete": false,
2026-06-09T03:00:38.4950280Z           "evidence": []
2026-06-09T03:00:38.4950360Z         }
2026-06-09T03:00:38.4950441Z       }
2026-06-09T03:00:38.4950522Z     },
2026-06-09T03:00:38.4950600Z     {
2026-06-09T03:00:38.4950694Z       "id": "REQ-INSTALL-4",
2026-06-09T03:00:38.4951281Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-09T03:00:38.4951385Z       "requiredStages": [
2026-06-09T03:00:38.4951475Z         "impl",
2026-06-09T03:00:38.4951558Z         "unit"
2026-06-09T03:00:38.4951638Z       ],
2026-06-09T03:00:38.4951723Z       "stages": {
2026-06-09T03:00:38.4951810Z         "doc": {
2026-06-09T03:00:38.4951897Z           "complete": false,
2026-06-09T03:00:38.4951985Z           "evidence": []
2026-06-09T03:00:38.4952066Z         },
2026-06-09T03:00:38.4952147Z         "impl": {
2026-06-09T03:00:38.4952234Z           "complete": true,
2026-06-09T03:00:38.4952319Z           "evidence": [
2026-06-09T03:00:38.4952404Z             {
2026-06-09T03:00:38.4952534Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.4952620Z               "line": 154
2026-06-09T03:00:38.4952700Z             },
2026-06-09T03:00:38.4952781Z             {
2026-06-09T03:00:38.4952901Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4952986Z               "line": 29
2026-06-09T03:00:38.4953076Z             },
2026-06-09T03:00:38.4953164Z             {
2026-06-09T03:00:38.4953277Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4953367Z               "line": 117
2026-06-09T03:00:38.4953444Z             },
2026-06-09T03:00:38.4953531Z             {
2026-06-09T03:00:38.4953640Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4953730Z               "line": 161
2026-06-09T03:00:38.4953812Z             },
2026-06-09T03:00:38.4953892Z             {
2026-06-09T03:00:38.4954002Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4954089Z               "line": 191
2026-06-09T03:00:38.4954170Z             },
2026-06-09T03:00:38.4954250Z             {
2026-06-09T03:00:38.4954365Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4954451Z               "line": 223
2026-06-09T03:00:38.4954532Z             },
2026-06-09T03:00:38.4954611Z             {
2026-06-09T03:00:38.4954711Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4954816Z               "line": 3833
2026-06-09T03:00:38.4954900Z             }
2026-06-09T03:00:38.4954980Z           ]
2026-06-09T03:00:38.4955062Z         },
2026-06-09T03:00:38.4955144Z         "int": {
2026-06-09T03:00:38.4955229Z           "complete": false,
2026-06-09T03:00:38.4955314Z           "evidence": []
2026-06-09T03:00:38.4955401Z         },
2026-06-09T03:00:38.4955482Z         "unit": {
2026-06-09T03:00:38.4955572Z           "complete": true,
2026-06-09T03:00:38.4955658Z           "evidence": [
2026-06-09T03:00:38.4955735Z             {
2026-06-09T03:00:38.4955858Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.4955944Z               "line": 334
2026-06-09T03:00:38.4956026Z             },
2026-06-09T03:00:38.4956107Z             {
2026-06-09T03:00:38.4956221Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4956302Z               "line": 269
2026-06-09T03:00:38.4956379Z             },
2026-06-09T03:00:38.4956636Z             {
2026-06-09T03:00:38.4956746Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4956831Z               "line": 310
2026-06-09T03:00:38.4956912Z             },
2026-06-09T03:00:38.4957079Z             {
2026-06-09T03:00:38.4957192Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-09T03:00:38.4957278Z               "line": 330
2026-06-09T03:00:38.4957359Z             },
2026-06-09T03:00:38.4957438Z             {
2026-06-09T03:00:38.4957547Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4957633Z               "line": 5404
2026-06-09T03:00:38.4957715Z             }
2026-06-09T03:00:38.4957795Z           ]
2026-06-09T03:00:38.4957876Z         }
2026-06-09T03:00:38.4957963Z       }
2026-06-09T03:00:38.4958044Z     },
2026-06-09T03:00:38.4958124Z     {
2026-06-09T03:00:38.4958215Z       "id": "REQ-INSTALL-5",
2026-06-09T03:00:38.4958673Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-09T03:00:38.4958777Z       "requiredStages": [
2026-06-09T03:00:38.4958859Z         "impl",
2026-06-09T03:00:38.4958941Z         "int"
2026-06-09T03:00:38.4959021Z       ],
2026-06-09T03:00:38.4959106Z       "stages": {
2026-06-09T03:00:38.4959188Z         "doc": {
2026-06-09T03:00:38.4959275Z           "complete": false,
2026-06-09T03:00:38.4959359Z           "evidence": []
2026-06-09T03:00:38.4959435Z         },
2026-06-09T03:00:38.4959523Z         "impl": {
2026-06-09T03:00:38.4959609Z           "complete": true,
2026-06-09T03:00:38.4959697Z           "evidence": [
2026-06-09T03:00:38.4959778Z             {
2026-06-09T03:00:38.4959878Z               "path": "installer/install.ps1",
2026-06-09T03:00:38.4959958Z               "line": 5
2026-06-09T03:00:38.4960038Z             },
2026-06-09T03:00:38.4960118Z             {
2026-06-09T03:00:38.4960220Z               "path": "installer/install.sh",
2026-06-09T03:00:38.4960315Z               "line": 6
2026-06-09T03:00:38.4960395Z             }
2026-06-09T03:00:38.4960472Z           ]
2026-06-09T03:00:38.4960554Z         },
2026-06-09T03:00:38.4960635Z         "int": {
2026-06-09T03:00:38.4960724Z           "complete": true,
2026-06-09T03:00:38.4960811Z           "evidence": [
2026-06-09T03:00:38.4960892Z             {
2026-06-09T03:00:38.4961005Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-09T03:00:38.4961086Z               "line": 22
2026-06-09T03:00:38.4961169Z             }
2026-06-09T03:00:38.4961244Z           ]
2026-06-09T03:00:38.4961325Z         },
2026-06-09T03:00:38.4961406Z         "unit": {
2026-06-09T03:00:38.4961494Z           "complete": false,
2026-06-09T03:00:38.4961578Z           "evidence": []
2026-06-09T03:00:38.4961654Z         }
2026-06-09T03:00:38.4961736Z       }
2026-06-09T03:00:38.4961813Z     },
2026-06-09T03:00:38.4961893Z     {
2026-06-09T03:00:38.4961978Z       "id": "REQ-INSTALL-6",
2026-06-09T03:00:38.4963194Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-09T03:00:38.4963289Z       "requiredStages": [
2026-06-09T03:00:38.4963370Z         "impl",
2026-06-09T03:00:38.4963451Z         "unit"
2026-06-09T03:00:38.4963532Z       ],
2026-06-09T03:00:38.4963622Z       "stages": {
2026-06-09T03:00:38.4963710Z         "doc": {
2026-06-09T03:00:38.4963794Z           "complete": false,
2026-06-09T03:00:38.4963880Z           "evidence": []
2026-06-09T03:00:38.4963961Z         },
2026-06-09T03:00:38.4964044Z         "impl": {
2026-06-09T03:00:38.4964128Z           "complete": true,
2026-06-09T03:00:38.4964214Z           "evidence": [
2026-06-09T03:00:38.4964396Z             {
2026-06-09T03:00:38.4964605Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4964692Z               "line": 59
2026-06-09T03:00:38.4964772Z             },
2026-06-09T03:00:38.4964852Z             {
2026-06-09T03:00:38.4964964Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.4965049Z               "line": 467
2026-06-09T03:00:38.4965129Z             },
2026-06-09T03:00:38.4965209Z             {
2026-06-09T03:00:38.4965329Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4965413Z               "line": 191
2026-06-09T03:00:38.4965498Z             },
2026-06-09T03:00:38.4965574Z             {
2026-06-09T03:00:38.4965690Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4965775Z               "line": 276
2026-06-09T03:00:38.4965859Z             },
2026-06-09T03:00:38.4965942Z             {
2026-06-09T03:00:38.4966047Z               "path": "crates/spt/src/main.rs",
2026-06-09T03:00:38.4966151Z               "line": 40
2026-06-09T03:00:38.4966227Z             },
2026-06-09T03:00:38.4966309Z             {
2026-06-09T03:00:38.4966414Z               "path": "installer/install.sh",
2026-06-09T03:00:38.4966494Z               "line": 104
2026-06-09T03:00:38.4966582Z             }
2026-06-09T03:00:38.4966657Z           ]
2026-06-09T03:00:38.4966738Z         },
2026-06-09T03:00:38.4966818Z         "int": {
2026-06-09T03:00:38.4966911Z           "complete": false,
2026-06-09T03:00:38.4967077Z           "evidence": []
2026-06-09T03:00:38.4967162Z         },
2026-06-09T03:00:38.4967249Z         "unit": {
2026-06-09T03:00:38.4967343Z           "complete": true,
2026-06-09T03:00:38.4967429Z           "evidence": [
2026-06-09T03:00:38.4967506Z             {
2026-06-09T03:00:38.4967621Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-09T03:00:38.4967705Z               "line": 841
2026-06-09T03:00:38.4967786Z             }
2026-06-09T03:00:38.4967872Z           ]
2026-06-09T03:00:38.4967957Z         }
2026-06-09T03:00:38.4968036Z       }
2026-06-09T03:00:38.4968117Z     },
2026-06-09T03:00:38.4968198Z     {
2026-06-09T03:00:38.4968284Z       "id": "REQ-INSTALL-7",
2026-06-09T03:00:38.4969385Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-09T03:00:38.4969477Z       "requiredStages": [
2026-06-09T03:00:38.4969562Z         "impl"
2026-06-09T03:00:38.4969643Z       ],
2026-06-09T03:00:38.4969724Z       "stages": {
2026-06-09T03:00:38.4969806Z         "doc": {
2026-06-09T03:00:38.4969896Z           "complete": false,
2026-06-09T03:00:38.4969977Z           "evidence": []
2026-06-09T03:00:38.4970058Z         },
2026-06-09T03:00:38.4970140Z         "impl": {
2026-06-09T03:00:38.4970225Z           "complete": true,
2026-06-09T03:00:38.4970315Z           "evidence": [
2026-06-09T03:00:38.4970390Z             {
2026-06-09T03:00:38.4970495Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.4970579Z               "line": 2497
2026-06-09T03:00:38.4970660Z             },
2026-06-09T03:00:38.4970736Z             {
2026-06-09T03:00:38.4970857Z               "path": "installer/install.ps1",
2026-06-09T03:00:38.4970960Z               "line": 157
2026-06-09T03:00:38.4971037Z             }
2026-06-09T03:00:38.4971114Z           ]
2026-06-09T03:00:38.4971195Z         },
2026-06-09T03:00:38.4971274Z         "int": {
2026-06-09T03:00:38.4971361Z           "complete": false,
2026-06-09T03:00:38.4971447Z           "evidence": []
2026-06-09T03:00:38.4971533Z         },
2026-06-09T03:00:38.4971613Z         "unit": {
2026-06-09T03:00:38.4971700Z           "complete": false,
2026-06-09T03:00:38.4971786Z           "evidence": []
2026-06-09T03:00:38.4971962Z         }
2026-06-09T03:00:38.4972133Z       }
2026-06-09T03:00:38.4972214Z     },
2026-06-09T03:00:38.4972296Z     {
2026-06-09T03:00:38.4972383Z       "id": "REQ-INSTALL-8",
2026-06-09T03:00:38.4973349Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-09T03:00:38.4973439Z       "requiredStages": [
2026-06-09T03:00:38.4973525Z         "impl"
2026-06-09T03:00:38.4973606Z       ],
2026-06-09T03:00:38.4973688Z       "stages": {
2026-06-09T03:00:38.4973768Z         "doc": {
2026-06-09T03:00:38.4973853Z           "complete": false,
2026-06-09T03:00:38.4973945Z           "evidence": []
2026-06-09T03:00:38.4974021Z         },
2026-06-09T03:00:38.4974111Z         "impl": {
2026-06-09T03:00:38.4974206Z           "complete": true,
2026-06-09T03:00:38.4974289Z           "evidence": [
2026-06-09T03:00:38.4974369Z             {
2026-06-09T03:00:38.4974469Z               "path": "installer/install.ps1",
2026-06-09T03:00:38.4974555Z               "line": 184
2026-06-09T03:00:38.4974632Z             },
2026-06-09T03:00:38.4974717Z             {
2026-06-09T03:00:38.4974817Z               "path": "installer/install.sh",
2026-06-09T03:00:38.4974899Z               "line": 121
2026-06-09T03:00:38.4974980Z             }
2026-06-09T03:00:38.4975060Z           ]
2026-06-09T03:00:38.4975141Z         },
2026-06-09T03:00:38.4975219Z         "int": {
2026-06-09T03:00:38.4975309Z           "complete": false,
2026-06-09T03:00:38.4975398Z           "evidence": []
2026-06-09T03:00:38.4975480Z         },
2026-06-09T03:00:38.4975563Z         "unit": {
2026-06-09T03:00:38.4975652Z           "complete": false,
2026-06-09T03:00:38.4975736Z           "evidence": []
2026-06-09T03:00:38.4975831Z         }
2026-06-09T03:00:38.4975912Z       }
2026-06-09T03:00:38.4975997Z     },
2026-06-09T03:00:38.4976072Z     {
2026-06-09T03:00:38.4976168Z       "id": "REQ-MANIFEST-1",
2026-06-09T03:00:38.4976340Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-09T03:00:38.4976429Z       "requiredStages": [
2026-06-09T03:00:38.4976512Z         "doc",
2026-06-09T03:00:38.4976593Z         "impl",
2026-06-09T03:00:38.4976673Z         "unit"
2026-06-09T03:00:38.4976754Z       ],
2026-06-09T03:00:38.4976836Z       "stages": {
2026-06-09T03:00:38.4976917Z         "doc": {
2026-06-09T03:00:38.4977093Z           "complete": true,
2026-06-09T03:00:38.4977179Z           "evidence": [
2026-06-09T03:00:38.4977260Z             {
2026-06-09T03:00:38.4977355Z               "path": "docs/MANIFEST.md",
2026-06-09T03:00:38.4977441Z               "line": 19
2026-06-09T03:00:38.4977518Z             }
2026-06-09T03:00:38.4977598Z           ]
2026-06-09T03:00:38.4977689Z         },
2026-06-09T03:00:38.4977781Z         "impl": {
2026-06-09T03:00:38.4977866Z           "complete": true,
2026-06-09T03:00:38.4977951Z           "evidence": [
2026-06-09T03:00:38.4978032Z             {
2026-06-09T03:00:38.4978153Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4978232Z               "line": 18
2026-06-09T03:00:38.4978312Z             }
2026-06-09T03:00:38.4978393Z           ]
2026-06-09T03:00:38.4978474Z         },
2026-06-09T03:00:38.4978568Z         "int": {
2026-06-09T03:00:38.4978653Z           "complete": false,
2026-06-09T03:00:38.4978749Z           "evidence": []
2026-06-09T03:00:38.4978826Z         },
2026-06-09T03:00:38.4978911Z         "unit": {
2026-06-09T03:00:38.4978996Z           "complete": true,
2026-06-09T03:00:38.4979078Z           "evidence": [
2026-06-09T03:00:38.4979173Z             {
2026-06-09T03:00:38.4979292Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4979384Z               "line": 746
2026-06-09T03:00:38.4979645Z             },
2026-06-09T03:00:38.4979727Z             {
2026-06-09T03:00:38.4979841Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4979926Z               "line": 860
2026-06-09T03:00:38.4980009Z             },
2026-06-09T03:00:38.4980090Z             {
2026-06-09T03:00:38.4980208Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4980294Z               "line": 872
2026-06-09T03:00:38.4980376Z             },
2026-06-09T03:00:38.4980456Z             {
2026-06-09T03:00:38.4980565Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4980653Z               "line": 883
2026-06-09T03:00:38.4980734Z             },
2026-06-09T03:00:38.4980813Z             {
2026-06-09T03:00:38.4980926Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4981013Z               "line": 900
2026-06-09T03:00:38.4981093Z             },
2026-06-09T03:00:38.4981172Z             {
2026-06-09T03:00:38.4981301Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4981393Z               "line": 914
2026-06-09T03:00:38.4981477Z             },
2026-06-09T03:00:38.4981554Z             {
2026-06-09T03:00:38.4981674Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4981760Z               "line": 929
2026-06-09T03:00:38.4981839Z             },
2026-06-09T03:00:38.4981921Z             {
2026-06-09T03:00:38.4982031Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4982117Z               "line": 944
2026-06-09T03:00:38.4982198Z             },
2026-06-09T03:00:38.4982275Z             {
2026-06-09T03:00:38.4982393Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4982483Z               "line": 959
2026-06-09T03:00:38.4982566Z             },
2026-06-09T03:00:38.4982642Z             {
2026-06-09T03:00:38.4982756Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.4982846Z               "line": 970
2026-06-09T03:00:38.4982938Z             }
2026-06-09T03:00:38.4983022Z           ]
2026-06-09T03:00:38.4983099Z         }
2026-06-09T03:00:38.4983185Z       }
2026-06-09T03:00:38.4983262Z     },
2026-06-09T03:00:38.4983342Z     {
2026-06-09T03:00:38.4983427Z       "id": "REQ-MESH-1",
2026-06-09T03:00:38.4985415Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-09T03:00:38.4985526Z       "requiredStages": [
2026-06-09T03:00:38.4985610Z         "impl",
2026-06-09T03:00:38.4985692Z         "unit",
2026-06-09T03:00:38.4985779Z         "int"
2026-06-09T03:00:38.4985859Z       ],
2026-06-09T03:00:38.4985949Z       "stages": {
2026-06-09T03:00:38.4986026Z         "doc": {
2026-06-09T03:00:38.4986118Z           "complete": false,
2026-06-09T03:00:38.4986202Z           "evidence": []
2026-06-09T03:00:38.4986282Z         },
2026-06-09T03:00:38.4986367Z         "impl": {
2026-06-09T03:00:38.4986459Z           "complete": true,
2026-06-09T03:00:38.4986543Z           "evidence": [
2026-06-09T03:00:38.4986623Z             {
2026-06-09T03:00:38.4986737Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.4986824Z               "line": 680
2026-06-09T03:00:38.4986904Z             },
2026-06-09T03:00:38.4987072Z             {
2026-06-09T03:00:38.4987191Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.4987477Z               "line": 38
2026-06-09T03:00:38.4987553Z             },
2026-06-09T03:00:38.4987638Z             {
2026-06-09T03:00:38.4987754Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.4987839Z               "line": 161
2026-06-09T03:00:38.4987920Z             },
2026-06-09T03:00:38.4988001Z             {
2026-06-09T03:00:38.4988115Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.4988202Z               "line": 206
2026-06-09T03:00:38.4988282Z             },
2026-06-09T03:00:38.4988360Z             {
2026-06-09T03:00:38.4988473Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.4988559Z               "line": 57
2026-06-09T03:00:38.4988636Z             },
2026-06-09T03:00:38.4988722Z             {
2026-06-09T03:00:38.4988844Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4988934Z               "line": 24
2026-06-09T03:00:38.4989011Z             },
2026-06-09T03:00:38.4989109Z             {
2026-06-09T03:00:38.4989232Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4989314Z               "line": 142
2026-06-09T03:00:38.4989395Z             },
2026-06-09T03:00:38.4989471Z             {
2026-06-09T03:00:38.4989600Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4989686Z               "line": 162
2026-06-09T03:00:38.4989767Z             }
2026-06-09T03:00:38.4989847Z           ]
2026-06-09T03:00:38.4989924Z         },
2026-06-09T03:00:38.4990006Z         "int": {
2026-06-09T03:00:38.4990096Z           "complete": true,
2026-06-09T03:00:38.4990181Z           "evidence": [
2026-06-09T03:00:38.4990259Z             {
2026-06-09T03:00:38.4990387Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-09T03:00:38.4992433Z               "line": 67
2026-06-09T03:00:38.4992539Z             },
2026-06-09T03:00:38.4992619Z             {
2026-06-09T03:00:38.4992772Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-09T03:00:38.4992873Z               "line": 93
2026-06-09T03:00:38.4992953Z             },
2026-06-09T03:00:38.4993034Z             {
2026-06-09T03:00:38.4993169Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-09T03:00:38.4993254Z               "line": 117
2026-06-09T03:00:38.4993335Z             },
2026-06-09T03:00:38.4993416Z             {
2026-06-09T03:00:38.4993536Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-09T03:00:38.4993625Z               "line": 134
2026-06-09T03:00:38.4993702Z             }
2026-06-09T03:00:38.4993784Z           ]
2026-06-09T03:00:38.4993865Z         },
2026-06-09T03:00:38.4993949Z         "unit": {
2026-06-09T03:00:38.4994041Z           "complete": true,
2026-06-09T03:00:38.4994123Z           "evidence": [
2026-06-09T03:00:38.4994203Z             {
2026-06-09T03:00:38.4994321Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.4994421Z               "line": 427
2026-06-09T03:00:38.4994507Z             },
2026-06-09T03:00:38.4994588Z             {
2026-06-09T03:00:38.4994717Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4994803Z               "line": 376
2026-06-09T03:00:38.4994884Z             },
2026-06-09T03:00:38.4994964Z             {
2026-06-09T03:00:38.4995090Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4995170Z               "line": 412
2026-06-09T03:00:38.4995250Z             },
2026-06-09T03:00:38.4995331Z             {
2026-06-09T03:00:38.4995451Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4995533Z               "line": 427
2026-06-09T03:00:38.4995613Z             },
2026-06-09T03:00:38.4995695Z             {
2026-06-09T03:00:38.4995808Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4995894Z               "line": 438
2026-06-09T03:00:38.4995970Z             },
2026-06-09T03:00:38.4996142Z             {
2026-06-09T03:00:38.4996329Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4996410Z               "line": 449
2026-06-09T03:00:38.4996490Z             },
2026-06-09T03:00:38.4996572Z             {
2026-06-09T03:00:38.4996692Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4996781Z               "line": 460
2026-06-09T03:00:38.4996857Z             },
2026-06-09T03:00:38.4996937Z             {
2026-06-09T03:00:38.4997150Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4997235Z               "line": 496
2026-06-09T03:00:38.4997317Z             },
2026-06-09T03:00:38.4997398Z             {
2026-06-09T03:00:38.4997517Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4997603Z               "line": 519
2026-06-09T03:00:38.4997684Z             },
2026-06-09T03:00:38.4997761Z             {
2026-06-09T03:00:38.4997879Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.4997976Z               "line": 546
2026-06-09T03:00:38.4998056Z             }
2026-06-09T03:00:38.4998136Z           ]
2026-06-09T03:00:38.4998213Z         }
2026-06-09T03:00:38.4998295Z       }
2026-06-09T03:00:38.4998380Z     },
2026-06-09T03:00:38.4998461Z     {
2026-06-09T03:00:38.4998552Z       "id": "REQ-MESH-2",
2026-06-09T03:00:38.5001028Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-09T03:00:38.5001143Z       "requiredStages": [
2026-06-09T03:00:38.5001228Z         "impl",
2026-06-09T03:00:38.5001309Z         "unit",
2026-06-09T03:00:38.5001390Z         "int"
2026-06-09T03:00:38.5001468Z       ],
2026-06-09T03:00:38.5001553Z       "stages": {
2026-06-09T03:00:38.5001633Z         "doc": {
2026-06-09T03:00:38.5001729Z           "complete": false,
2026-06-09T03:00:38.5001811Z           "evidence": []
2026-06-09T03:00:38.5001891Z         },
2026-06-09T03:00:38.5001971Z         "impl": {
2026-06-09T03:00:38.5002052Z           "complete": true,
2026-06-09T03:00:38.5002137Z           "evidence": [
2026-06-09T03:00:38.5002217Z             {
2026-06-09T03:00:38.5002335Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.5002431Z               "line": 569
2026-06-09T03:00:38.5002508Z             },
2026-06-09T03:00:38.5002593Z             {
2026-06-09T03:00:38.5002717Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5002823Z               "line": 118
2026-06-09T03:00:38.5002903Z             },
2026-06-09T03:00:38.5002979Z             {
2026-06-09T03:00:38.5003090Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5003170Z               "line": 347
2026-06-09T03:00:38.5003261Z             },
2026-06-09T03:00:38.5003356Z             {
2026-06-09T03:00:38.5003466Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5003552Z               "line": 389
2026-06-09T03:00:38.5003632Z             },
2026-06-09T03:00:38.5003715Z             {
2026-06-09T03:00:38.5003823Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5003909Z               "line": 403
2026-06-09T03:00:38.5004091Z             },
2026-06-09T03:00:38.5004262Z             {
2026-06-09T03:00:38.5004373Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5004457Z               "line": 492
2026-06-09T03:00:38.5004538Z             },
2026-06-09T03:00:38.5004620Z             {
2026-06-09T03:00:38.5004730Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5004815Z               "line": 507
2026-06-09T03:00:38.5004900Z             },
2026-06-09T03:00:38.5004981Z             {
2026-06-09T03:00:38.5005096Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5005181Z               "line": 534
2026-06-09T03:00:38.5005262Z             },
2026-06-09T03:00:38.5005345Z             {
2026-06-09T03:00:38.5005468Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5005553Z               "line": 207
2026-06-09T03:00:38.5005635Z             },
2026-06-09T03:00:38.5005720Z             {
2026-06-09T03:00:38.5005839Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5005935Z               "line": 755
2026-06-09T03:00:38.5006017Z             },
2026-06-09T03:00:38.5006098Z             {
2026-06-09T03:00:38.5006211Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5006298Z               "line": 816
2026-06-09T03:00:38.5006378Z             },
2026-06-09T03:00:38.5006459Z             {
2026-06-09T03:00:38.5006575Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5006665Z               "line": 869
2026-06-09T03:00:38.5006745Z             },
2026-06-09T03:00:38.5006831Z             {
2026-06-09T03:00:38.5007040Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5007127Z               "line": 891
2026-06-09T03:00:38.5007209Z             },
2026-06-09T03:00:38.5007290Z             {
2026-06-09T03:00:38.5007402Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.5007487Z               "line": 112
2026-06-09T03:00:38.5007574Z             },
2026-06-09T03:00:38.5007663Z             {
2026-06-09T03:00:38.5007777Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5007867Z               "line": 44
2026-06-09T03:00:38.5007949Z             },
2026-06-09T03:00:38.5008029Z             {
2026-06-09T03:00:38.5008134Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5008221Z               "line": 184
2026-06-09T03:00:38.5008302Z             },
2026-06-09T03:00:38.5008381Z             {
2026-06-09T03:00:38.5008492Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5008578Z               "line": 211
2026-06-09T03:00:38.5008659Z             },
2026-06-09T03:00:38.5008740Z             {
2026-06-09T03:00:38.5008846Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5008930Z               "line": 251
2026-06-09T03:00:38.5009016Z             },
2026-06-09T03:00:38.5009098Z             {
2026-06-09T03:00:38.5009208Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5009298Z               "line": 275
2026-06-09T03:00:38.5009379Z             },
2026-06-09T03:00:38.5009461Z             {
2026-06-09T03:00:38.5009569Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5009655Z               "line": 289
2026-06-09T03:00:38.5009742Z             },
2026-06-09T03:00:38.5009824Z             {
2026-06-09T03:00:38.5009931Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5010016Z               "line": 300
2026-06-09T03:00:38.5010103Z             },
2026-06-09T03:00:38.5010183Z             {
2026-06-09T03:00:38.5010296Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5010381Z               "line": 313
2026-06-09T03:00:38.5010463Z             }
2026-06-09T03:00:38.5010549Z           ]
2026-06-09T03:00:38.5010629Z         },
2026-06-09T03:00:38.5010711Z         "int": {
2026-06-09T03:00:38.5010801Z           "complete": true,
2026-06-09T03:00:38.5010991Z           "evidence": [
2026-06-09T03:00:38.5011178Z             {
2026-06-09T03:00:38.5011311Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-09T03:00:38.5011398Z               "line": 116
2026-06-09T03:00:38.5011478Z             },
2026-06-09T03:00:38.5011559Z             {
2026-06-09T03:00:38.5011679Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-09T03:00:38.5011765Z               "line": 181
2026-06-09T03:00:38.5011845Z             }
2026-06-09T03:00:38.5011927Z           ]
2026-06-09T03:00:38.5012008Z         },
2026-06-09T03:00:38.5012089Z         "unit": {
2026-06-09T03:00:38.5012184Z           "complete": true,
2026-06-09T03:00:38.5012269Z           "evidence": [
2026-06-09T03:00:38.5012347Z             {
2026-06-09T03:00:38.5012465Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5012550Z               "line": 999
2026-06-09T03:00:38.5012635Z             },
2026-06-09T03:00:38.5012717Z             {
2026-06-09T03:00:38.5012844Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5012934Z               "line": 1016
2026-06-09T03:00:38.5013015Z             },
2026-06-09T03:00:38.5013097Z             {
2026-06-09T03:00:38.5013210Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5013301Z               "line": 1024
2026-06-09T03:00:38.5013383Z             },
2026-06-09T03:00:38.5013463Z             {
2026-06-09T03:00:38.5013582Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5013669Z               "line": 1048
2026-06-09T03:00:38.5013749Z             },
2026-06-09T03:00:38.5013830Z             {
2026-06-09T03:00:38.5013955Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5014045Z               "line": 1499
2026-06-09T03:00:38.5014126Z             },
2026-06-09T03:00:38.5014207Z             {
2026-06-09T03:00:38.5014317Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5014412Z               "line": 347
2026-06-09T03:00:38.5014507Z             },
2026-06-09T03:00:38.5014590Z             {
2026-06-09T03:00:38.5014708Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5014798Z               "line": 370
2026-06-09T03:00:38.5014885Z             },
2026-06-09T03:00:38.5014966Z             {
2026-06-09T03:00:38.5015079Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5015166Z               "line": 407
2026-06-09T03:00:38.5015248Z             },
2026-06-09T03:00:38.5015332Z             {
2026-06-09T03:00:38.5015441Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5015527Z               "line": 431
2026-06-09T03:00:38.5015609Z             },
2026-06-09T03:00:38.5015689Z             {
2026-06-09T03:00:38.5015798Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5015885Z               "line": 483
2026-06-09T03:00:38.5015966Z             },
2026-06-09T03:00:38.5016056Z             {
2026-06-09T03:00:38.5016176Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5016262Z               "line": 499
2026-06-09T03:00:38.5016343Z             },
2026-06-09T03:00:38.5016423Z             {
2026-06-09T03:00:38.5016534Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5016623Z               "line": 514
2026-06-09T03:00:38.5016704Z             },
2026-06-09T03:00:38.5016786Z             {
2026-06-09T03:00:38.5016896Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5017086Z               "line": 531
2026-06-09T03:00:38.5017168Z             }
2026-06-09T03:00:38.5017249Z           ]
2026-06-09T03:00:38.5017334Z         }
2026-06-09T03:00:38.5017415Z       }
2026-06-09T03:00:38.5017497Z     },
2026-06-09T03:00:38.5017577Z     {
2026-06-09T03:00:38.5017668Z       "id": "REQ-MESH-3",
2026-06-09T03:00:38.5019276Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-09T03:00:38.5019629Z       "requiredStages": [
2026-06-09T03:00:38.5019716Z         "impl",
2026-06-09T03:00:38.5019796Z         "unit",
2026-06-09T03:00:38.5019877Z         "int"
2026-06-09T03:00:38.5019963Z       ],
2026-06-09T03:00:38.5020045Z       "stages": {
2026-06-09T03:00:38.5020125Z         "doc": {
2026-06-09T03:00:38.5020215Z           "complete": false,
2026-06-09T03:00:38.5020302Z           "evidence": []
2026-06-09T03:00:38.5020384Z         },
2026-06-09T03:00:38.5020468Z         "impl": {
2026-06-09T03:00:38.5020567Z           "complete": true,
2026-06-09T03:00:38.5020658Z           "evidence": [
2026-06-09T03:00:38.5020743Z             {
2026-06-09T03:00:38.5020865Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5020951Z               "line": 410
2026-06-09T03:00:38.5021028Z             },
2026-06-09T03:00:38.5021114Z             {
2026-06-09T03:00:38.5021227Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5021309Z               "line": 603
2026-06-09T03:00:38.5021400Z             }
2026-06-09T03:00:38.5021485Z           ]
2026-06-09T03:00:38.5021566Z         },
2026-06-09T03:00:38.5021644Z         "int": {
2026-06-09T03:00:38.5021733Z           "complete": true,
2026-06-09T03:00:38.5021819Z           "evidence": [
2026-06-09T03:00:38.5021900Z             {
2026-06-09T03:00:38.5022015Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-09T03:00:38.5022100Z               "line": 373
2026-06-09T03:00:38.5022181Z             },
2026-06-09T03:00:38.5022268Z             {
2026-06-09T03:00:38.5022386Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-09T03:00:38.5022472Z               "line": 436
2026-06-09T03:00:38.5022554Z             }
2026-06-09T03:00:38.5022635Z           ]
2026-06-09T03:00:38.5022715Z         },
2026-06-09T03:00:38.5022801Z         "unit": {
2026-06-09T03:00:38.5022893Z           "complete": true,
2026-06-09T03:00:38.5022983Z           "evidence": [
2026-06-09T03:00:38.5023068Z             {
2026-06-09T03:00:38.5023186Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5023272Z               "line": 881
2026-06-09T03:00:38.5023351Z             }
2026-06-09T03:00:38.5023432Z           ]
2026-06-09T03:00:38.5023518Z         }
2026-06-09T03:00:38.5023605Z       }
2026-06-09T03:00:38.5023685Z     },
2026-06-09T03:00:38.5023761Z     {
2026-06-09T03:00:38.5023886Z       "id": "REQ-MESH-4",
2026-06-09T03:00:38.5026049Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-09T03:00:38.5026160Z       "requiredStages": [
2026-06-09T03:00:38.5026245Z         "impl",
2026-06-09T03:00:38.5026325Z         "unit",
2026-06-09T03:00:38.5026411Z         "int"
2026-06-09T03:00:38.5026493Z       ],
2026-06-09T03:00:38.5026578Z       "stages": {
2026-06-09T03:00:38.5026663Z         "doc": {
2026-06-09T03:00:38.5026841Z           "complete": false,
2026-06-09T03:00:38.5027084Z           "evidence": []
2026-06-09T03:00:38.5027170Z         },
2026-06-09T03:00:38.5027255Z         "impl": {
2026-06-09T03:00:38.5027350Z           "complete": true,
2026-06-09T03:00:38.5027437Z           "evidence": [
2026-06-09T03:00:38.5027522Z             {
2026-06-09T03:00:38.5027637Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5027723Z               "line": 187
2026-06-09T03:00:38.5027809Z             },
2026-06-09T03:00:38.5027890Z             {
2026-06-09T03:00:38.5028010Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5028100Z               "line": 68
2026-06-09T03:00:38.5028184Z             },
2026-06-09T03:00:38.5028266Z             {
2026-06-09T03:00:38.5028387Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5028475Z               "line": 111
2026-06-09T03:00:38.5028556Z             },
2026-06-09T03:00:38.5028637Z             {
2026-06-09T03:00:38.5028760Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5028853Z               "line": 462
2026-06-09T03:00:38.5028939Z             },
2026-06-09T03:00:38.5029022Z             {
2026-06-09T03:00:38.5029136Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5029216Z               "line": 711
2026-06-09T03:00:38.5029303Z             },
2026-06-09T03:00:38.5029384Z             {
2026-06-09T03:00:38.5029511Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5029603Z               "line": 725
2026-06-09T03:00:38.5029684Z             },
2026-06-09T03:00:38.5029770Z             {
2026-06-09T03:00:38.5029884Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.5029971Z               "line": 122
2026-06-09T03:00:38.5030051Z             },
2026-06-09T03:00:38.5030141Z             {
2026-06-09T03:00:38.5030252Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5030352Z               "line": 26
2026-06-09T03:00:38.5030447Z             },
2026-06-09T03:00:38.5030528Z             {
2026-06-09T03:00:38.5030643Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5030727Z               "line": 97
2026-06-09T03:00:38.5030814Z             },
2026-06-09T03:00:38.5030896Z             {
2026-06-09T03:00:38.5031009Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5031094Z               "line": 119
2026-06-09T03:00:38.5031179Z             },
2026-06-09T03:00:38.5031261Z             {
2026-06-09T03:00:38.5031373Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5031459Z               "line": 82
2026-06-09T03:00:38.5031540Z             },
2026-06-09T03:00:38.5031626Z             {
2026-06-09T03:00:38.5031730Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5031821Z               "line": 111
2026-06-09T03:00:38.5031903Z             },
2026-06-09T03:00:38.5031994Z             {
2026-06-09T03:00:38.5032116Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5032204Z               "line": 232
2026-06-09T03:00:38.5032293Z             },
2026-06-09T03:00:38.5032374Z             {
2026-06-09T03:00:38.5032485Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5032575Z               "line": 245
2026-06-09T03:00:38.5032661Z             },
2026-06-09T03:00:38.5032742Z             {
2026-06-09T03:00:38.5032848Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5032937Z               "line": 3229
2026-06-09T03:00:38.5033023Z             }
2026-06-09T03:00:38.5033104Z           ]
2026-06-09T03:00:38.5033186Z         },
2026-06-09T03:00:38.5033270Z         "int": {
2026-06-09T03:00:38.5033361Z           "complete": true,
2026-06-09T03:00:38.5033448Z           "evidence": [
2026-06-09T03:00:38.5033534Z             {
2026-06-09T03:00:38.5033661Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-09T03:00:38.5033856Z               "line": 98
2026-06-09T03:00:38.5034034Z             },
2026-06-09T03:00:38.5034116Z             {
2026-06-09T03:00:38.5034236Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-09T03:00:38.5034326Z               "line": 140
2026-06-09T03:00:38.5034398Z             }
2026-06-09T03:00:38.5034479Z           ]
2026-06-09T03:00:38.5034560Z         },
2026-06-09T03:00:38.5034640Z         "unit": {
2026-06-09T03:00:38.5034726Z           "complete": true,
2026-06-09T03:00:38.5034813Z           "evidence": [
2026-06-09T03:00:38.5034908Z             {
2026-06-09T03:00:38.5035056Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5035142Z               "line": 844
2026-06-09T03:00:38.5035223Z             },
2026-06-09T03:00:38.5035303Z             {
2026-06-09T03:00:38.5035428Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5035518Z               "line": 1079
2026-06-09T03:00:38.5035599Z             },
2026-06-09T03:00:38.5035691Z             {
2026-06-09T03:00:38.5035818Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5035909Z               "line": 1109
2026-06-09T03:00:38.5035991Z             },
2026-06-09T03:00:38.5036072Z             {
2026-06-09T03:00:38.5036195Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-09T03:00:38.5036276Z               "line": 1129
2026-06-09T03:00:38.5036364Z             },
2026-06-09T03:00:38.5036448Z             {
2026-06-09T03:00:38.5036575Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-09T03:00:38.5036666Z               "line": 602
2026-06-09T03:00:38.5036748Z             },
2026-06-09T03:00:38.5036833Z             {
2026-06-09T03:00:38.5037044Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5037138Z               "line": 148
2026-06-09T03:00:38.5037218Z             },
2026-06-09T03:00:38.5037301Z             {
2026-06-09T03:00:38.5037420Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5037515Z               "line": 169
2026-06-09T03:00:38.5037601Z             },
2026-06-09T03:00:38.5037683Z             {
2026-06-09T03:00:38.5037801Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5037892Z               "line": 181
2026-06-09T03:00:38.5037973Z             },
2026-06-09T03:00:38.5038059Z             {
2026-06-09T03:00:38.5038172Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-09T03:00:38.5038260Z               "line": 202
2026-06-09T03:00:38.5038345Z             },
2026-06-09T03:00:38.5038430Z             {
2026-06-09T03:00:38.5038545Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5038632Z               "line": 375
2026-06-09T03:00:38.5038716Z             },
2026-06-09T03:00:38.5038798Z             {
2026-06-09T03:00:38.5038909Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5038999Z               "line": 407
2026-06-09T03:00:38.5039083Z             },
2026-06-09T03:00:38.5039178Z             {
2026-06-09T03:00:38.5039278Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5039376Z               "line": 6668
2026-06-09T03:00:38.5039452Z             }
2026-06-09T03:00:38.5039538Z           ]
2026-06-09T03:00:38.5039620Z         }
2026-06-09T03:00:38.5039705Z       }
2026-06-09T03:00:38.5039790Z     },
2026-06-09T03:00:38.5039868Z     {
2026-06-09T03:00:38.5039958Z       "id": "REQ-MESH-5",
2026-06-09T03:00:38.5041354Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-09T03:00:38.5041570Z       "requiredStages": [
2026-06-09T03:00:38.5041749Z         "impl",
2026-06-09T03:00:38.5041835Z         "unit"
2026-06-09T03:00:38.5041919Z       ],
2026-06-09T03:00:38.5042000Z       "stages": {
2026-06-09T03:00:38.5042086Z         "doc": {
2026-06-09T03:00:38.5042182Z           "complete": false,
2026-06-09T03:00:38.5042272Z           "evidence": []
2026-06-09T03:00:38.5042352Z         },
2026-06-09T03:00:38.5042439Z         "impl": {
2026-06-09T03:00:38.5042529Z           "complete": true,
2026-06-09T03:00:38.5042614Z           "evidence": [
2026-06-09T03:00:38.5042705Z             {
2026-06-09T03:00:38.5042830Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5042915Z               "line": 61
2026-06-09T03:00:38.5043001Z             },
2026-06-09T03:00:38.5043078Z             {
2026-06-09T03:00:38.5043197Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5043287Z               "line": 109
2026-06-09T03:00:38.5043369Z             },
2026-06-09T03:00:38.5043464Z             {
2026-06-09T03:00:38.5043587Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5043674Z               "line": 104
2026-06-09T03:00:38.5043756Z             },
2026-06-09T03:00:38.5043840Z             {
2026-06-09T03:00:38.5043955Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5044042Z               "line": 105
2026-06-09T03:00:38.5044127Z             },
2026-06-09T03:00:38.5044207Z             {
2026-06-09T03:00:38.5044330Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5044416Z               "line": 85
2026-06-09T03:00:38.5044495Z             },
2026-06-09T03:00:38.5044576Z             {
2026-06-09T03:00:38.5044701Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5044791Z               "line": 234
2026-06-09T03:00:38.5044872Z             },
2026-06-09T03:00:38.5044953Z             {
2026-06-09T03:00:38.5045072Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5045172Z               "line": 298
2026-06-09T03:00:38.5045253Z             },
2026-06-09T03:00:38.5045335Z             {
2026-06-09T03:00:38.5045458Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5045544Z               "line": 687
2026-06-09T03:00:38.5045626Z             },
2026-06-09T03:00:38.5045706Z             {
2026-06-09T03:00:38.5045820Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.5045907Z               "line": 101
2026-06-09T03:00:38.5045989Z             },
2026-06-09T03:00:38.5046078Z             {
2026-06-09T03:00:38.5046192Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5046280Z               "line": 193
2026-06-09T03:00:38.5046360Z             }
2026-06-09T03:00:38.5046440Z           ]
2026-06-09T03:00:38.5046526Z         },
2026-06-09T03:00:38.5046609Z         "int": {
2026-06-09T03:00:38.5046702Z           "complete": false,
2026-06-09T03:00:38.5046793Z           "evidence": []
2026-06-09T03:00:38.5046885Z         },
2026-06-09T03:00:38.5047050Z         "unit": {
2026-06-09T03:00:38.5047145Z           "complete": true,
2026-06-09T03:00:38.5047236Z           "evidence": [
2026-06-09T03:00:38.5047318Z             {
2026-06-09T03:00:38.5047445Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5047527Z               "line": 927
2026-06-09T03:00:38.5047613Z             },
2026-06-09T03:00:38.5047694Z             {
2026-06-09T03:00:38.5047808Z               "path": "crates/spt-store/src/roster.rs",
2026-06-09T03:00:38.5047895Z               "line": 462
2026-06-09T03:00:38.5047976Z             }
2026-06-09T03:00:38.5048061Z           ]
2026-06-09T03:00:38.5048147Z         }
2026-06-09T03:00:38.5048228Z       }
2026-06-09T03:00:38.5048309Z     },
2026-06-09T03:00:38.5048390Z     {
2026-06-09T03:00:38.5048480Z       "id": "REQ-MESH-6",
2026-06-09T03:00:38.5049680Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-09T03:00:38.5049965Z       "requiredStages": [
2026-06-09T03:00:38.5050050Z         "impl",
2026-06-09T03:00:38.5050132Z         "unit"
2026-06-09T03:00:38.5050213Z       ],
2026-06-09T03:00:38.5050298Z       "stages": {
2026-06-09T03:00:38.5050379Z         "doc": {
2026-06-09T03:00:38.5050471Z           "complete": false,
2026-06-09T03:00:38.5050557Z           "evidence": []
2026-06-09T03:00:38.5050641Z         },
2026-06-09T03:00:38.5050723Z         "impl": {
2026-06-09T03:00:38.5050814Z           "complete": true,
2026-06-09T03:00:38.5050899Z           "evidence": [
2026-06-09T03:00:38.5050985Z             {
2026-06-09T03:00:38.5051086Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5051195Z               "line": 2758
2026-06-09T03:00:38.5051276Z             }
2026-06-09T03:00:38.5051357Z           ]
2026-06-09T03:00:38.5051439Z         },
2026-06-09T03:00:38.5051523Z         "int": {
2026-06-09T03:00:38.5051614Z           "complete": false,
2026-06-09T03:00:38.5051702Z           "evidence": []
2026-06-09T03:00:38.5051782Z         },
2026-06-09T03:00:38.5051862Z         "unit": {
2026-06-09T03:00:38.5051953Z           "complete": true,
2026-06-09T03:00:38.5052040Z           "evidence": [
2026-06-09T03:00:38.5052120Z             {
2026-06-09T03:00:38.5052224Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5052309Z               "line": 7106
2026-06-09T03:00:38.5052391Z             },
2026-06-09T03:00:38.5052470Z             {
2026-06-09T03:00:38.5052569Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5052656Z               "line": 7133
2026-06-09T03:00:38.5052737Z             },
2026-06-09T03:00:38.5052822Z             {
2026-06-09T03:00:38.5052927Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5053014Z               "line": 7157
2026-06-09T03:00:38.5053094Z             }
2026-06-09T03:00:38.5053175Z           ]
2026-06-09T03:00:38.5053261Z         }
2026-06-09T03:00:38.5053343Z       }
2026-06-09T03:00:38.5053423Z     },
2026-06-09T03:00:38.5053504Z     {
2026-06-09T03:00:38.5053595Z       "id": "REQ-MIGRATE-1",
2026-06-09T03:00:38.5053757Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-09T03:00:38.5053847Z       "requiredStages": [],
2026-06-09T03:00:38.5053930Z       "stages": {
2026-06-09T03:00:38.5054011Z         "doc": {
2026-06-09T03:00:38.5054100Z           "complete": false,
2026-06-09T03:00:38.5054186Z           "evidence": []
2026-06-09T03:00:38.5054268Z         },
2026-06-09T03:00:38.5054349Z         "impl": {
2026-06-09T03:00:38.5054444Z           "complete": false,
2026-06-09T03:00:38.5054534Z           "evidence": []
2026-06-09T03:00:38.5054621Z         },
2026-06-09T03:00:38.5054710Z         "int": {
2026-06-09T03:00:38.5054800Z           "complete": false,
2026-06-09T03:00:38.5054886Z           "evidence": []
2026-06-09T03:00:38.5054967Z         },
2026-06-09T03:00:38.5055051Z         "unit": {
2026-06-09T03:00:38.5055141Z           "complete": false,
2026-06-09T03:00:38.5055222Z           "evidence": []
2026-06-09T03:00:38.5055304Z         }
2026-06-09T03:00:38.5055384Z       }
2026-06-09T03:00:38.5055465Z     },
2026-06-09T03:00:38.5055542Z     {
2026-06-09T03:00:38.5055632Z       "id": "REQ-MSG-1",
2026-06-09T03:00:38.5056037Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-09T03:00:38.5056114Z       "requiredStages": [
2026-06-09T03:00:38.5056196Z         "impl",
2026-06-09T03:00:38.5056285Z         "unit",
2026-06-09T03:00:38.5056385Z         "int"
2026-06-09T03:00:38.5056467Z       ],
2026-06-09T03:00:38.5056633Z       "stages": {
2026-06-09T03:00:38.5056787Z         "doc": {
2026-06-09T03:00:38.5056873Z           "complete": false,
2026-06-09T03:00:38.5057048Z           "evidence": []
2026-06-09T03:00:38.5057130Z         },
2026-06-09T03:00:38.5057216Z         "impl": {
2026-06-09T03:00:38.5057305Z           "complete": true,
2026-06-09T03:00:38.5057392Z           "evidence": [
2026-06-09T03:00:38.5057479Z             {
2026-06-09T03:00:38.5057591Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5057677Z               "line": 28
2026-06-09T03:00:38.5057758Z             },
2026-06-09T03:00:38.5057840Z             {
2026-06-09T03:00:38.5057949Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5058033Z               "line": 94
2026-06-09T03:00:38.5058116Z             },
2026-06-09T03:00:38.5058197Z             {
2026-06-09T03:00:38.5058306Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5058392Z               "line": 127
2026-06-09T03:00:38.5058497Z             },
2026-06-09T03:00:38.5058573Z             {
2026-06-09T03:00:38.5058687Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5058775Z               "line": 149
2026-06-09T03:00:38.5058855Z             },
2026-06-09T03:00:38.5058940Z             {
2026-06-09T03:00:38.5059045Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5059132Z               "line": 174
2026-06-09T03:00:38.5059212Z             },
2026-06-09T03:00:38.5059293Z             {
2026-06-09T03:00:38.5059414Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-09T03:00:38.5059498Z               "line": 18
2026-06-09T03:00:38.5059579Z             },
2026-06-09T03:00:38.5059656Z             {
2026-06-09T03:00:38.5059776Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.5059870Z               "line": 13
2026-06-09T03:00:38.5059961Z             },
2026-06-09T03:00:38.5060048Z             {
2026-06-09T03:00:38.5060194Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.5060317Z               "line": 61
2026-06-09T03:00:38.5060403Z             },
2026-06-09T03:00:38.5060478Z             {
2026-06-09T03:00:38.5060586Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-09T03:00:38.5060687Z               "line": 10
2026-06-09T03:00:38.5060768Z             }
2026-06-09T03:00:38.5060844Z           ]
2026-06-09T03:00:38.5060930Z         },
2026-06-09T03:00:38.5061012Z         "int": {
2026-06-09T03:00:38.5061107Z           "complete": true,
2026-06-09T03:00:38.5061192Z           "evidence": [
2026-06-09T03:00:38.5061269Z             {
2026-06-09T03:00:38.5061402Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-09T03:00:38.5061483Z               "line": 9
2026-06-09T03:00:38.5061603Z             },
2026-06-09T03:00:38.5061684Z             {
2026-06-09T03:00:38.5061826Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-09T03:00:38.5061947Z               "line": 70
2026-06-09T03:00:38.5064784Z             },
2026-06-09T03:00:38.5064895Z             {
2026-06-09T03:00:38.5065051Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-09T03:00:38.5065143Z               "line": 129
2026-06-09T03:00:38.5065229Z             }
2026-06-09T03:00:38.5065317Z           ]
2026-06-09T03:00:38.5065403Z         },
2026-06-09T03:00:38.5065484Z         "unit": {
2026-06-09T03:00:38.5065578Z           "complete": true,
2026-06-09T03:00:38.5065667Z           "evidence": [
2026-06-09T03:00:38.5065748Z             {
2026-06-09T03:00:38.5065864Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5065954Z               "line": 203
2026-06-09T03:00:38.5066039Z             },
2026-06-09T03:00:38.5066116Z             {
2026-06-09T03:00:38.5066232Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5066325Z               "line": 232
2026-06-09T03:00:38.5066412Z             },
2026-06-09T03:00:38.5066484Z             {
2026-06-09T03:00:38.5066736Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5066917Z               "line": 277
2026-06-09T03:00:38.5067085Z             },
2026-06-09T03:00:38.5067170Z             {
2026-06-09T03:00:38.5067270Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5067362Z               "line": 300
2026-06-09T03:00:38.5067438Z             },
2026-06-09T03:00:38.5067527Z             {
2026-06-09T03:00:38.5067647Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-09T03:00:38.5067758Z               "line": 324
2026-06-09T03:00:38.5067865Z             },
2026-06-09T03:00:38.5067947Z             {
2026-06-09T03:00:38.5068063Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-09T03:00:38.5068147Z               "line": 203
2026-06-09T03:00:38.5068227Z             },
2026-06-09T03:00:38.5068313Z             {
2026-06-09T03:00:38.5068414Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-09T03:00:38.5068504Z               "line": 236
2026-06-09T03:00:38.5068594Z             },
2026-06-09T03:00:38.5068676Z             {
2026-06-09T03:00:38.5068786Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-09T03:00:38.5068880Z               "line": 250
2026-06-09T03:00:38.5068962Z             },
2026-06-09T03:00:38.5069043Z             {
2026-06-09T03:00:38.5069152Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-09T03:00:38.5069238Z               "line": 262
2026-06-09T03:00:38.5069320Z             },
2026-06-09T03:00:38.5069400Z             {
2026-06-09T03:00:38.5069543Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.5069654Z               "line": 158
2026-06-09T03:00:38.5069739Z             },
2026-06-09T03:00:38.5069825Z             {
2026-06-09T03:00:38.5069945Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-09T03:00:38.5070039Z               "line": 241
2026-06-09T03:00:38.5070120Z             },
2026-06-09T03:00:38.5070201Z             {
2026-06-09T03:00:38.5070317Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-09T03:00:38.5070411Z               "line": 68
2026-06-09T03:00:38.5070493Z             },
2026-06-09T03:00:38.5070574Z             {
2026-06-09T03:00:38.5070679Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-09T03:00:38.5070768Z               "line": 77
2026-06-09T03:00:38.5070853Z             },
2026-06-09T03:00:38.5070935Z             {
2026-06-09T03:00:38.5071038Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-09T03:00:38.5071123Z               "line": 83
2026-06-09T03:00:38.5071209Z             },
2026-06-09T03:00:38.5071286Z             {
2026-06-09T03:00:38.5071390Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-09T03:00:38.5071480Z               "line": 102
2026-06-09T03:00:38.5071563Z             }
2026-06-09T03:00:38.5071648Z           ]
2026-06-09T03:00:38.5071728Z         }
2026-06-09T03:00:38.5071814Z       }
2026-06-09T03:00:38.5071896Z     },
2026-06-09T03:00:38.5071977Z     {
2026-06-09T03:00:38.5072077Z       "id": "REQ-MSG-2",
2026-06-09T03:00:38.5072348Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-09T03:00:38.5072444Z       "requiredStages": [
2026-06-09T03:00:38.5072531Z         "impl",
2026-06-09T03:00:38.5072620Z         "unit"
2026-06-09T03:00:38.5072701Z       ],
2026-06-09T03:00:38.5072788Z       "stages": {
2026-06-09T03:00:38.5072869Z         "doc": {
2026-06-09T03:00:38.5072968Z           "complete": false,
2026-06-09T03:00:38.5073059Z           "evidence": []
2026-06-09T03:00:38.5073137Z         },
2026-06-09T03:00:38.5073231Z         "impl": {
2026-06-09T03:00:38.5073325Z           "complete": true,
2026-06-09T03:00:38.5073415Z           "evidence": [
2026-06-09T03:00:38.5073492Z             {
2026-06-09T03:00:38.5073599Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5073723Z               "line": 11
2026-06-09T03:00:38.5073819Z             },
2026-06-09T03:00:38.5074023Z             {
2026-06-09T03:00:38.5074214Z               "path": "crates/spt/src/main.rs",
2026-06-09T03:00:38.5074305Z               "line": 8
2026-06-09T03:00:38.5074386Z             }
2026-06-09T03:00:38.5074477Z           ]
2026-06-09T03:00:38.5074558Z         },
2026-06-09T03:00:38.5074643Z         "int": {
2026-06-09T03:00:38.5074735Z           "complete": false,
2026-06-09T03:00:38.5074820Z           "evidence": []
2026-06-09T03:00:38.5074906Z         },
2026-06-09T03:00:38.5074986Z         "unit": {
2026-06-09T03:00:38.5075078Z           "complete": true,
2026-06-09T03:00:38.5075168Z           "evidence": [
2026-06-09T03:00:38.5075254Z             {
2026-06-09T03:00:38.5075359Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5075446Z               "line": 4914
2026-06-09T03:00:38.5075530Z             },
2026-06-09T03:00:38.5075611Z             {
2026-06-09T03:00:38.5075713Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5075803Z               "line": 4963
2026-06-09T03:00:38.5075892Z             },
2026-06-09T03:00:38.5075977Z             {
2026-06-09T03:00:38.5076078Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5076171Z               "line": 4986
2026-06-09T03:00:38.5076251Z             },
2026-06-09T03:00:38.5076338Z             {
2026-06-09T03:00:38.5076439Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5076519Z               "line": 6424
2026-06-09T03:00:38.5076600Z             },
2026-06-09T03:00:38.5076681Z             {
2026-06-09T03:00:38.5076782Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5076866Z               "line": 6433
2026-06-09T03:00:38.5077100Z             },
2026-06-09T03:00:38.5077181Z             {
2026-06-09T03:00:38.5077267Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5077359Z               "line": 6447
2026-06-09T03:00:38.5077444Z             }
2026-06-09T03:00:38.5077524Z           ]
2026-06-09T03:00:38.5077607Z         }
2026-06-09T03:00:38.5077693Z       }
2026-06-09T03:00:38.5077787Z     },
2026-06-09T03:00:38.5077868Z     {
2026-06-09T03:00:38.5077960Z       "id": "REQ-MSG-3",
2026-06-09T03:00:38.5078327Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-09T03:00:38.5078420Z       "requiredStages": [
2026-06-09T03:00:38.5078507Z         "impl",
2026-06-09T03:00:38.5078589Z         "unit",
2026-06-09T03:00:38.5078675Z         "int"
2026-06-09T03:00:38.5078754Z       ],
2026-06-09T03:00:38.5078839Z       "stages": {
2026-06-09T03:00:38.5078921Z         "doc": {
2026-06-09T03:00:38.5079012Z           "complete": false,
2026-06-09T03:00:38.5079097Z           "evidence": []
2026-06-09T03:00:38.5079183Z         },
2026-06-09T03:00:38.5079270Z         "impl": {
2026-06-09T03:00:38.5079360Z           "complete": true,
2026-06-09T03:00:38.5079450Z           "evidence": [
2026-06-09T03:00:38.5079527Z             {
2026-06-09T03:00:38.5079641Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-09T03:00:38.5079741Z               "line": 19
2026-06-09T03:00:38.5079827Z             },
2026-06-09T03:00:38.5079909Z             {
2026-06-09T03:00:38.5080023Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.5080113Z               "line": 21
2026-06-09T03:00:38.5080190Z             },
2026-06-09T03:00:38.5080275Z             {
2026-06-09T03:00:38.5080375Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.5080466Z               "line": 48
2026-06-09T03:00:38.5080548Z             },
2026-06-09T03:00:38.5080627Z             {
2026-06-09T03:00:38.5080733Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.5080820Z               "line": 142
2026-06-09T03:00:38.5080900Z             }
2026-06-09T03:00:38.5080985Z           ]
2026-06-09T03:00:38.5081067Z         },
2026-06-09T03:00:38.5081149Z         "int": {
2026-06-09T03:00:38.5081239Z           "complete": true,
2026-06-09T03:00:38.5081428Z           "evidence": [
2026-06-09T03:00:38.5081602Z             {
2026-06-09T03:00:38.5081740Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-09T03:00:38.5081827Z               "line": 10
2026-06-09T03:00:38.5081908Z             },
2026-06-09T03:00:38.5081993Z             {
2026-06-09T03:00:38.5082118Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-09T03:00:38.5082213Z               "line": 70
2026-06-09T03:00:38.5082298Z             }
2026-06-09T03:00:38.5082379Z           ]
2026-06-09T03:00:38.5082461Z         },
2026-06-09T03:00:38.5082542Z         "unit": {
2026-06-09T03:00:38.5082632Z           "complete": true,
2026-06-09T03:00:38.5082718Z           "evidence": [
2026-06-09T03:00:38.5082799Z             {
2026-06-09T03:00:38.5082904Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.5082999Z               "line": 196
2026-06-09T03:00:38.5083082Z             },
2026-06-09T03:00:38.5083161Z             {
2026-06-09T03:00:38.5083261Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.5083353Z               "line": 215
2026-06-09T03:00:38.5083439Z             },
2026-06-09T03:00:38.5083514Z             {
2026-06-09T03:00:38.5083619Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-09T03:00:38.5083730Z               "line": 237
2026-06-09T03:00:38.5083819Z             }
2026-06-09T03:00:38.5083909Z           ]
2026-06-09T03:00:38.5083990Z         }
2026-06-09T03:00:38.5084071Z       }
2026-06-09T03:00:38.5084155Z     },
2026-06-09T03:00:38.5084240Z     {
2026-06-09T03:00:38.5084331Z       "id": "REQ-MSG-4",
2026-06-09T03:00:38.5085137Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-09T03:00:38.5085241Z       "requiredStages": [
2026-06-09T03:00:38.5085328Z         "impl",
2026-06-09T03:00:38.5085428Z         "unit",
2026-06-09T03:00:38.5085509Z         "int"
2026-06-09T03:00:38.5085590Z       ],
2026-06-09T03:00:38.5085681Z       "stages": {
2026-06-09T03:00:38.5085766Z         "doc": {
2026-06-09T03:00:38.5085856Z           "complete": false,
2026-06-09T03:00:38.5085944Z           "evidence": []
2026-06-09T03:00:38.5086029Z         },
2026-06-09T03:00:38.5086114Z         "impl": {
2026-06-09T03:00:38.5086205Z           "complete": true,
2026-06-09T03:00:38.5086292Z           "evidence": [
2026-06-09T03:00:38.5086372Z             {
2026-06-09T03:00:38.5086480Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5086566Z               "line": 16
2026-06-09T03:00:38.5086647Z             },
2026-06-09T03:00:38.5086726Z             {
2026-06-09T03:00:38.5086835Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5086922Z               "line": 25
2026-06-09T03:00:38.5087084Z             },
2026-06-09T03:00:38.5087169Z             {
2026-06-09T03:00:38.5087289Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5087384Z               "line": 47
2026-06-09T03:00:38.5087469Z             },
2026-06-09T03:00:38.5087556Z             {
2026-06-09T03:00:38.5087670Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5087755Z               "line": 363
2026-06-09T03:00:38.5087842Z             },
2026-06-09T03:00:38.5087923Z             {
2026-06-09T03:00:38.5088024Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5088113Z               "line": 1903
2026-06-09T03:00:38.5088200Z             }
2026-06-09T03:00:38.5088286Z           ]
2026-06-09T03:00:38.5088367Z         },
2026-06-09T03:00:38.5088448Z         "int": {
2026-06-09T03:00:38.5088534Z           "complete": true,
2026-06-09T03:00:38.5088628Z           "evidence": [
2026-06-09T03:00:38.5088714Z             {
2026-06-09T03:00:38.5088839Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-09T03:00:38.5089029Z               "line": 93
2026-06-09T03:00:38.5089202Z             },
2026-06-09T03:00:38.5089291Z             {
2026-06-09T03:00:38.5089404Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-09T03:00:38.5089491Z               "line": 123
2026-06-09T03:00:38.5089577Z             }
2026-06-09T03:00:38.5089652Z           ]
2026-06-09T03:00:38.5089738Z         },
2026-06-09T03:00:38.5089821Z         "unit": {
2026-06-09T03:00:38.5089911Z           "complete": true,
2026-06-09T03:00:38.5090000Z           "evidence": [
2026-06-09T03:00:38.5090082Z             {
2026-06-09T03:00:38.5090187Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5090268Z               "line": 62
2026-06-09T03:00:38.5090353Z             },
2026-06-09T03:00:38.5090436Z             {
2026-06-09T03:00:38.5090539Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5090620Z               "line": 73
2026-06-09T03:00:38.5090707Z             },
2026-06-09T03:00:38.5090789Z             {
2026-06-09T03:00:38.5090902Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5090993Z               "line": 84
2026-06-09T03:00:38.5091075Z             },
2026-06-09T03:00:38.5091160Z             {
2026-06-09T03:00:38.5091259Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5091351Z               "line": 96
2026-06-09T03:00:38.5091433Z             },
2026-06-09T03:00:38.5091516Z             {
2026-06-09T03:00:38.5091617Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5091704Z               "line": 105
2026-06-09T03:00:38.5091785Z             },
2026-06-09T03:00:38.5091864Z             {
2026-06-09T03:00:38.5091968Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-09T03:00:38.5092055Z               "line": 120
2026-06-09T03:00:38.5092135Z             }
2026-06-09T03:00:38.5092214Z           ]
2026-06-09T03:00:38.5092295Z         }
2026-06-09T03:00:38.5092378Z       }
2026-06-09T03:00:38.5092459Z     },
2026-06-09T03:00:38.5092543Z     {
2026-06-09T03:00:38.5092640Z       "id": "REQ-NET-1",
2026-06-09T03:00:38.5092811Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-09T03:00:38.5092906Z       "requiredStages": [
2026-06-09T03:00:38.5092988Z         "impl",
2026-06-09T03:00:38.5093068Z         "unit",
2026-06-09T03:00:38.5093154Z         "int"
2026-06-09T03:00:38.5093239Z       ],
2026-06-09T03:00:38.5093322Z       "stages": {
2026-06-09T03:00:38.5093407Z         "doc": {
2026-06-09T03:00:38.5093497Z           "complete": false,
2026-06-09T03:00:38.5093583Z           "evidence": []
2026-06-09T03:00:38.5093666Z         },
2026-06-09T03:00:38.5093754Z         "impl": {
2026-06-09T03:00:38.5093845Z           "complete": true,
2026-06-09T03:00:38.5093932Z           "evidence": [
2026-06-09T03:00:38.5094008Z             {
2026-06-09T03:00:38.5094132Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5094218Z               "line": 54
2026-06-09T03:00:38.5094300Z             },
2026-06-09T03:00:38.5094393Z             {
2026-06-09T03:00:38.5094507Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5094598Z               "line": 594
2026-06-09T03:00:38.5094678Z             },
2026-06-09T03:00:38.5094763Z             {
2026-06-09T03:00:38.5094872Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-09T03:00:38.5094954Z               "line": 69
2026-06-09T03:00:38.5095034Z             },
2026-06-09T03:00:38.5095125Z             {
2026-06-09T03:00:38.5095240Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5095326Z               "line": 97
2026-06-09T03:00:38.5095406Z             },
2026-06-09T03:00:38.5095482Z             {
2026-06-09T03:00:38.5095597Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5095683Z               "line": 159
2026-06-09T03:00:38.5095773Z             },
2026-06-09T03:00:38.5095855Z             {
2026-06-09T03:00:38.5095969Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5096218Z               "line": 175
2026-06-09T03:00:38.5096303Z             },
2026-06-09T03:00:38.5096393Z             {
2026-06-09T03:00:38.5096504Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5096598Z               "line": 190
2026-06-09T03:00:38.5096684Z             },
2026-06-09T03:00:38.5096760Z             {
2026-06-09T03:00:38.5096875Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5097040Z               "line": 271
2026-06-09T03:00:38.5097121Z             },
2026-06-09T03:00:38.5097202Z             {
2026-06-09T03:00:38.5097320Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5097410Z               "line": 306
2026-06-09T03:00:38.5097487Z             },
2026-06-09T03:00:38.5097569Z             {
2026-06-09T03:00:38.5097677Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5097768Z               "line": 312
2026-06-09T03:00:38.5097859Z             },
2026-06-09T03:00:38.5097949Z             {
2026-06-09T03:00:38.5098068Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5098154Z               "line": 318
2026-06-09T03:00:38.5098245Z             },
2026-06-09T03:00:38.5098325Z             {
2026-06-09T03:00:38.5098436Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5098526Z               "line": 334
2026-06-09T03:00:38.5098607Z             },
2026-06-09T03:00:38.5098693Z             {
2026-06-09T03:00:38.5098803Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5098892Z               "line": 354
2026-06-09T03:00:38.5098969Z             },
2026-06-09T03:00:38.5099056Z             {
2026-06-09T03:00:38.5099165Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-09T03:00:38.5099256Z               "line": 35
2026-06-09T03:00:38.5099337Z             },
2026-06-09T03:00:38.5099418Z             {
2026-06-09T03:00:38.5099532Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-09T03:00:38.5099627Z               "line": 85
2026-06-09T03:00:38.5099710Z             },
2026-06-09T03:00:38.5099790Z             {
2026-06-09T03:00:38.5099902Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.5099988Z               "line": 135
2026-06-09T03:00:38.5100066Z             },
2026-06-09T03:00:38.5100152Z             {
2026-06-09T03:00:38.5100246Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5100337Z               "line": 1751
2026-06-09T03:00:38.5100414Z             },
2026-06-09T03:00:38.5100495Z             {
2026-06-09T03:00:38.5100599Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5100686Z               "line": 17
2026-06-09T03:00:38.5100766Z             }
2026-06-09T03:00:38.5100847Z           ]
2026-06-09T03:00:38.5100928Z         },
2026-06-09T03:00:38.5101010Z         "int": {
2026-06-09T03:00:38.5101104Z           "complete": true,
2026-06-09T03:00:38.5101199Z           "evidence": [
2026-06-09T03:00:38.5101286Z             {
2026-06-09T03:00:38.5101410Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5101495Z               "line": 340
2026-06-09T03:00:38.5101586Z             },
2026-06-09T03:00:38.5101668Z             {
2026-06-09T03:00:38.5101786Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5101872Z               "line": 604
2026-06-09T03:00:38.5101949Z             },
2026-06-09T03:00:38.5102030Z             {
2026-06-09T03:00:38.5102144Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5102231Z               "line": 877
2026-06-09T03:00:38.5102312Z             }
2026-06-09T03:00:38.5102392Z           ]
2026-06-09T03:00:38.5102477Z         },
2026-06-09T03:00:38.5102558Z         "unit": {
2026-06-09T03:00:38.5102649Z           "complete": true,
2026-06-09T03:00:38.5102732Z           "evidence": [
2026-06-09T03:00:38.5102813Z             {
2026-06-09T03:00:38.5103033Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5103209Z               "line": 650
2026-06-09T03:00:38.5103290Z             },
2026-06-09T03:00:38.5103371Z             {
2026-06-09T03:00:38.5103485Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5103572Z               "line": 685
2026-06-09T03:00:38.5103652Z             },
2026-06-09T03:00:38.5103737Z             {
2026-06-09T03:00:38.5103853Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5103943Z               "line": 931
2026-06-09T03:00:38.5104024Z             },
2026-06-09T03:00:38.5104110Z             {
2026-06-09T03:00:38.5104231Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-09T03:00:38.5104314Z               "line": 152
2026-06-09T03:00:38.5104405Z             },
2026-06-09T03:00:38.5104483Z             {
2026-06-09T03:00:38.5104596Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5104682Z               "line": 442
2026-06-09T03:00:38.5104778Z             },
2026-06-09T03:00:38.5104860Z             {
2026-06-09T03:00:38.5104972Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5105057Z               "line": 456
2026-06-09T03:00:38.5105139Z             },
2026-06-09T03:00:38.5105219Z             {
2026-06-09T03:00:38.5105332Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5105427Z               "line": 475
2026-06-09T03:00:38.5105509Z             },
2026-06-09T03:00:38.5105590Z             {
2026-06-09T03:00:38.5105703Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-09T03:00:38.5105790Z               "line": 119
2026-06-09T03:00:38.5105871Z             },
2026-06-09T03:00:38.5105951Z             {
2026-06-09T03:00:38.5106066Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-09T03:00:38.5106153Z               "line": 162
2026-06-09T03:00:38.5106234Z             },
2026-06-09T03:00:38.5106314Z             {
2026-06-09T03:00:38.5106439Z               "path": "crates/spt-store/src/spool.rs",
2026-06-09T03:00:38.5106524Z               "line": 492
2026-06-09T03:00:38.5106600Z             },
2026-06-09T03:00:38.5106686Z             {
2026-06-09T03:00:38.5106792Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5106877Z               "line": 615
2026-06-09T03:00:38.5107044Z             },
2026-06-09T03:00:38.5107121Z             {
2026-06-09T03:00:38.5107225Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5107301Z               "line": 1004
2026-06-09T03:00:38.5107379Z             }
2026-06-09T03:00:38.5107459Z           ]
2026-06-09T03:00:38.5107534Z         }
2026-06-09T03:00:38.5107610Z       }
2026-06-09T03:00:38.5107696Z     },
2026-06-09T03:00:38.5107809Z     {
2026-06-09T03:00:38.5107899Z       "id": "REQ-NET-2",
2026-06-09T03:00:38.5108066Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-09T03:00:38.5108161Z       "requiredStages": [
2026-06-09T03:00:38.5108251Z         "impl"
2026-06-09T03:00:38.5108337Z       ],
2026-06-09T03:00:38.5108419Z       "stages": {
2026-06-09T03:00:38.5108504Z         "doc": {
2026-06-09T03:00:38.5108594Z           "complete": false,
2026-06-09T03:00:38.5108691Z           "evidence": []
2026-06-09T03:00:38.5108781Z         },
2026-06-09T03:00:38.5108867Z         "impl": {
2026-06-09T03:00:38.5108957Z           "complete": true,
2026-06-09T03:00:38.5109039Z           "evidence": [
2026-06-09T03:00:38.5109124Z             {
2026-06-09T03:00:38.5109238Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.5109321Z               "line": 57
2026-06-09T03:00:38.5109406Z             },
2026-06-09T03:00:38.5109482Z             {
2026-06-09T03:00:38.5109597Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5109683Z               "line": 71
2026-06-09T03:00:38.5109768Z             },
2026-06-09T03:00:38.5109844Z             {
2026-06-09T03:00:38.5110073Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5110256Z               "line": 81
2026-06-09T03:00:38.5110336Z             },
2026-06-09T03:00:38.5110421Z             {
2026-06-09T03:00:38.5110534Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5110626Z               "line": 159
2026-06-09T03:00:38.5110697Z             },
2026-06-09T03:00:38.5110778Z             {
2026-06-09T03:00:38.5110888Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5110974Z               "line": 175
2026-06-09T03:00:38.5111088Z             },
2026-06-09T03:00:38.5111183Z             {
2026-06-09T03:00:38.5111308Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-09T03:00:38.5111402Z               "line": 190
2026-06-09T03:00:38.5111498Z             }
2026-06-09T03:00:38.5111589Z           ]
2026-06-09T03:00:38.5111674Z         },
2026-06-09T03:00:38.5111759Z         "int": {
2026-06-09T03:00:38.5111846Z           "complete": false,
2026-06-09T03:00:38.5111942Z           "evidence": []
2026-06-09T03:00:38.5112027Z         },
2026-06-09T03:00:38.5112108Z         "unit": {
2026-06-09T03:00:38.5112219Z           "complete": true,
2026-06-09T03:00:38.5112299Z           "evidence": [
2026-06-09T03:00:38.5112380Z             {
2026-06-09T03:00:38.5112491Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.5112609Z               "line": 402
2026-06-09T03:00:38.5112704Z             }
2026-06-09T03:00:38.5112786Z           ]
2026-06-09T03:00:38.5112886Z         }
2026-06-09T03:00:38.5112971Z       }
2026-06-09T03:00:38.5113080Z     },
2026-06-09T03:00:38.5113185Z     {
2026-06-09T03:00:38.5113297Z       "id": "REQ-NET-3",
2026-06-09T03:00:38.5113483Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-09T03:00:38.5113584Z       "requiredStages": [
2026-06-09T03:00:38.5113668Z         "impl",
2026-06-09T03:00:38.5113750Z         "unit"
2026-06-09T03:00:38.5113836Z       ],
2026-06-09T03:00:38.5113927Z       "stages": {
2026-06-09T03:00:38.5114026Z         "doc": {
2026-06-09T03:00:38.5114123Z           "complete": false,
2026-06-09T03:00:38.5114212Z           "evidence": []
2026-06-09T03:00:38.5114298Z         },
2026-06-09T03:00:38.5114384Z         "impl": {
2026-06-09T03:00:38.5114471Z           "complete": true,
2026-06-09T03:00:38.5114556Z           "evidence": [
2026-06-09T03:00:38.5114651Z             {
2026-06-09T03:00:38.5114762Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.5114851Z               "line": 39
2026-06-09T03:00:38.5114937Z             },
2026-06-09T03:00:38.5115018Z             {
2026-06-09T03:00:38.5115138Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.5115223Z               "line": 182
2026-06-09T03:00:38.5115309Z             },
2026-06-09T03:00:38.5115391Z             {
2026-06-09T03:00:38.5115504Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-09T03:00:38.5115594Z               "line": 333
2026-06-09T03:00:38.5115680Z             },
2026-06-09T03:00:38.5115770Z             {
2026-06-09T03:00:38.5115883Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-09T03:00:38.5115972Z               "line": 36
2026-06-09T03:00:38.5116060Z             },
2026-06-09T03:00:38.5116141Z             {
2026-06-09T03:00:38.5116264Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5116365Z               "line": 158
2026-06-09T03:00:38.5116460Z             },
2026-06-09T03:00:38.5116535Z             {
2026-06-09T03:00:38.5116675Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5116784Z               "line": 212
2026-06-09T03:00:38.5116869Z             },
2026-06-09T03:00:38.5117047Z             {
2026-06-09T03:00:38.5117165Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5117276Z               "line": 233
2026-06-09T03:00:38.5117357Z             },
2026-06-09T03:00:38.5117441Z             {
2026-06-09T03:00:38.5117690Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5117866Z               "line": 291
2026-06-09T03:00:38.5117948Z             },
2026-06-09T03:00:38.5118033Z             {
2026-06-09T03:00:38.5118151Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5118242Z               "line": 310
2026-06-09T03:00:38.5118327Z             },
2026-06-09T03:00:38.5118411Z             {
2026-06-09T03:00:38.5118525Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5118617Z               "line": 348
2026-06-09T03:00:38.5118698Z             },
2026-06-09T03:00:38.5118788Z             {
2026-06-09T03:00:38.5118902Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5118993Z               "line": 393
2026-06-09T03:00:38.5119083Z             },
2026-06-09T03:00:38.5119164Z             {
2026-06-09T03:00:38.5119279Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5119370Z               "line": 406
2026-06-09T03:00:38.5119464Z             },
2026-06-09T03:00:38.5119547Z             {
2026-06-09T03:00:38.5119670Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.5119756Z               "line": 29
2026-06-09T03:00:38.5119837Z             },
2026-06-09T03:00:38.5119923Z             {
2026-06-09T03:00:38.5120042Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.5120133Z               "line": 72
2026-06-09T03:00:38.5120215Z             },
2026-06-09T03:00:38.5120295Z             {
2026-06-09T03:00:38.5120414Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.5120506Z               "line": 123
2026-06-09T03:00:38.5120591Z             }
2026-06-09T03:00:38.5120676Z           ]
2026-06-09T03:00:38.5120767Z         },
2026-06-09T03:00:38.5120854Z         "int": {
2026-06-09T03:00:38.5120943Z           "complete": false,
2026-06-09T03:00:38.5121037Z           "evidence": []
2026-06-09T03:00:38.5121123Z         },
2026-06-09T03:00:38.5121220Z         "unit": {
2026-06-09T03:00:38.5121310Z           "complete": true,
2026-06-09T03:00:38.5121404Z           "evidence": [
2026-06-09T03:00:38.5121482Z             {
2026-06-09T03:00:38.5121601Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-09T03:00:38.5121690Z               "line": 223
2026-06-09T03:00:38.5121772Z             },
2026-06-09T03:00:38.5121853Z             {
2026-06-09T03:00:38.5121962Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-09T03:00:38.5122048Z               "line": 351
2026-06-09T03:00:38.5122130Z             },
2026-06-09T03:00:38.5122211Z             {
2026-06-09T03:00:38.5122324Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-09T03:00:38.5122411Z               "line": 502
2026-06-09T03:00:38.5122497Z             },
2026-06-09T03:00:38.5122577Z             {
2026-06-09T03:00:38.5122692Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-09T03:00:38.5122779Z               "line": 93
2026-06-09T03:00:38.5122878Z             },
2026-06-09T03:00:38.5122959Z             {
2026-06-09T03:00:38.5123070Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-09T03:00:38.5123160Z               "line": 142
2026-06-09T03:00:38.5123239Z             },
2026-06-09T03:00:38.5123327Z             {
2026-06-09T03:00:38.5123451Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.5123536Z               "line": 315
2026-06-09T03:00:38.5123630Z             },
2026-06-09T03:00:38.5123707Z             {
2026-06-09T03:00:38.5123829Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.5123914Z               "line": 355
2026-06-09T03:00:38.5124000Z             },
2026-06-09T03:00:38.5124087Z             {
2026-06-09T03:00:38.5124200Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-09T03:00:38.5124291Z               "line": 494
2026-06-09T03:00:38.5124373Z             }
2026-06-09T03:00:38.5124458Z           ]
2026-06-09T03:00:38.5124615Z         }
2026-06-09T03:00:38.5124782Z       }
2026-06-09T03:00:38.5124872Z     },
2026-06-09T03:00:38.5124954Z     {
2026-06-09T03:00:38.5125054Z       "id": "REQ-NODE-IDENTITY",
2026-06-09T03:00:38.5125273Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-09T03:00:38.5125374Z       "requiredStages": [
2026-06-09T03:00:38.5125454Z         "impl",
2026-06-09T03:00:38.5125540Z         "unit"
2026-06-09T03:00:38.5125627Z       ],
2026-06-09T03:00:38.5125712Z       "stages": {
2026-06-09T03:00:38.5125798Z         "doc": {
2026-06-09T03:00:38.5125889Z           "complete": false,
2026-06-09T03:00:38.5125980Z           "evidence": []
2026-06-09T03:00:38.5126060Z         },
2026-06-09T03:00:38.5126145Z         "impl": {
2026-06-09T03:00:38.5126240Z           "complete": true,
2026-06-09T03:00:38.5126326Z           "evidence": [
2026-06-09T03:00:38.5126414Z             {
2026-06-09T03:00:38.5126532Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5126634Z               "line": 60
2026-06-09T03:00:38.5126715Z             },
2026-06-09T03:00:38.5126805Z             {
2026-06-09T03:00:38.5126930Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5127095Z               "line": 68
2026-06-09T03:00:38.5127177Z             },
2026-06-09T03:00:38.5127274Z             {
2026-06-09T03:00:38.5127392Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5127482Z               "line": 86
2026-06-09T03:00:38.5130368Z             },
2026-06-09T03:00:38.5130479Z             {
2026-06-09T03:00:38.5130611Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5130703Z               "line": 120
2026-06-09T03:00:38.5130789Z             },
2026-06-09T03:00:38.5130873Z             {
2026-06-09T03:00:38.5130997Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5131090Z               "line": 127
2026-06-09T03:00:38.5131170Z             },
2026-06-09T03:00:38.5131274Z             {
2026-06-09T03:00:38.5131390Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5131475Z               "line": 143
2026-06-09T03:00:38.5131560Z             },
2026-06-09T03:00:38.5131640Z             {
2026-06-09T03:00:38.5131756Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-09T03:00:38.5131850Z               "line": 16
2026-06-09T03:00:38.5131926Z             }
2026-06-09T03:00:38.5132012Z           ]
2026-06-09T03:00:38.5132094Z         },
2026-06-09T03:00:38.5132175Z         "int": {
2026-06-09T03:00:38.5132264Z           "complete": false,
2026-06-09T03:00:38.5132357Z           "evidence": []
2026-06-09T03:00:38.5132437Z         },
2026-06-09T03:00:38.5132518Z         "unit": {
2026-06-09T03:00:38.5132608Z           "complete": true,
2026-06-09T03:00:38.5132695Z           "evidence": [
2026-06-09T03:00:38.5132780Z             {
2026-06-09T03:00:38.5132899Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5132996Z               "line": 199
2026-06-09T03:00:38.5133081Z             },
2026-06-09T03:00:38.5133166Z             {
2026-06-09T03:00:38.5133281Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5133367Z               "line": 218
2026-06-09T03:00:38.5133448Z             },
2026-06-09T03:00:38.5133533Z             {
2026-06-09T03:00:38.5133645Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5133729Z               "line": 234
2026-06-09T03:00:38.5133809Z             },
2026-06-09T03:00:38.5133892Z             {
2026-06-09T03:00:38.5134002Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-09T03:00:38.5134086Z               "line": 256
2026-06-09T03:00:38.5134176Z             },
2026-06-09T03:00:38.5134257Z             {
2026-06-09T03:00:38.5134371Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-09T03:00:38.5134450Z               "line": 124
2026-06-09T03:00:38.5134531Z             },
2026-06-09T03:00:38.5134746Z             {
2026-06-09T03:00:38.5134947Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-09T03:00:38.5135038Z               "line": 140
2026-06-09T03:00:38.5135117Z             },
2026-06-09T03:00:38.5135204Z             {
2026-06-09T03:00:38.5135314Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-09T03:00:38.5135400Z               "line": 155
2026-06-09T03:00:38.5135490Z             }
2026-06-09T03:00:38.5135572Z           ]
2026-06-09T03:00:38.5135657Z         }
2026-06-09T03:00:38.5135738Z       }
2026-06-09T03:00:38.5135824Z     },
2026-06-09T03:00:38.5135906Z     {
2026-06-09T03:00:38.5136000Z       "id": "REQ-NOTIF-1",
2026-06-09T03:00:38.5136348Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-09T03:00:38.5136444Z       "requiredStages": [
2026-06-09T03:00:38.5136526Z         "impl",
2026-06-09T03:00:38.5136611Z         "unit",
2026-06-09T03:00:38.5136695Z         "int"
2026-06-09T03:00:38.5136785Z       ],
2026-06-09T03:00:38.5136872Z       "stages": {
2026-06-09T03:00:38.5137050Z         "doc": {
2026-06-09T03:00:38.5137137Z           "complete": false,
2026-06-09T03:00:38.5137237Z           "evidence": []
2026-06-09T03:00:38.5137327Z         },
2026-06-09T03:00:38.5137412Z         "impl": {
2026-06-09T03:00:38.5137500Z           "complete": true,
2026-06-09T03:00:38.5137590Z           "evidence": [
2026-06-09T03:00:38.5137669Z             {
2026-06-09T03:00:38.5137795Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5137880Z               "line": 514
2026-06-09T03:00:38.5137966Z             },
2026-06-09T03:00:38.5138047Z             {
2026-06-09T03:00:38.5138158Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5138248Z               "line": 30
2026-06-09T03:00:38.5138333Z             },
2026-06-09T03:00:38.5138420Z             {
2026-06-09T03:00:38.5138538Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5138638Z               "line": 62
2026-06-09T03:00:38.5138725Z             },
2026-06-09T03:00:38.5138807Z             {
2026-06-09T03:00:38.5138915Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5139001Z               "line": 86
2026-06-09T03:00:38.5139083Z             },
2026-06-09T03:00:38.5139172Z             {
2026-06-09T03:00:38.5139281Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5139362Z               "line": 100
2026-06-09T03:00:38.5139448Z             },
2026-06-09T03:00:38.5139522Z             {
2026-06-09T03:00:38.5139622Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5139703Z               "line": 135
2026-06-09T03:00:38.5139785Z             },
2026-06-09T03:00:38.5139874Z             {
2026-06-09T03:00:38.5140004Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5140099Z               "line": 180
2026-06-09T03:00:38.5140185Z             },
2026-06-09T03:00:38.5140270Z             {
2026-06-09T03:00:38.5140381Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5140466Z               "line": 251
2026-06-09T03:00:38.5140547Z             },
2026-06-09T03:00:38.5140628Z             {
2026-06-09T03:00:38.5140738Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5140828Z               "line": 361
2026-06-09T03:00:38.5140909Z             },
2026-06-09T03:00:38.5140991Z             {
2026-06-09T03:00:38.5141095Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5141181Z               "line": 421
2026-06-09T03:00:38.5141273Z             },
2026-06-09T03:00:38.5141354Z             {
2026-06-09T03:00:38.5141472Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5141558Z               "line": 24
2026-06-09T03:00:38.5141640Z             },
2026-06-09T03:00:38.5141725Z             {
2026-06-09T03:00:38.5141839Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5142115Z               "line": 34
2026-06-09T03:00:38.5142195Z             },
2026-06-09T03:00:38.5142277Z             {
2026-06-09T03:00:38.5142392Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5142477Z               "line": 60
2026-06-09T03:00:38.5142558Z             },
2026-06-09T03:00:38.5142640Z             {
2026-06-09T03:00:38.5142753Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5142834Z               "line": 82
2026-06-09T03:00:38.5142922Z             },
2026-06-09T03:00:38.5143007Z             {
2026-06-09T03:00:38.5143116Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5143202Z               "line": 94
2026-06-09T03:00:38.5143284Z             },
2026-06-09T03:00:38.5143369Z             {
2026-06-09T03:00:38.5143483Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5143575Z               "line": 43
2026-06-09T03:00:38.5143660Z             },
2026-06-09T03:00:38.5143750Z             {
2026-06-09T03:00:38.5143861Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.5143946Z               "line": 96
2026-06-09T03:00:38.5144027Z             },
2026-06-09T03:00:38.5144108Z             {
2026-06-09T03:00:38.5144223Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-09T03:00:38.5144308Z               "line": 20
2026-06-09T03:00:38.5144389Z             },
2026-06-09T03:00:38.5144481Z             {
2026-06-09T03:00:38.5144595Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-09T03:00:38.5144680Z               "line": 30
2026-06-09T03:00:38.5144760Z             },
2026-06-09T03:00:38.5144846Z             {
2026-06-09T03:00:38.5144959Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-09T03:00:38.5145043Z               "line": 50
2026-06-09T03:00:38.5145130Z             },
2026-06-09T03:00:38.5145207Z             {
2026-06-09T03:00:38.5145316Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5145416Z               "line": 28
2026-06-09T03:00:38.5145498Z             },
2026-06-09T03:00:38.5145588Z             {
2026-06-09T03:00:38.5145696Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5145784Z               "line": 126
2026-06-09T03:00:38.5145869Z             },
2026-06-09T03:00:38.5145950Z             {
2026-06-09T03:00:38.5146060Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5146141Z               "line": 161
2026-06-09T03:00:38.5146227Z             },
2026-06-09T03:00:38.5146312Z             {
2026-06-09T03:00:38.5146418Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5146503Z               "line": 202
2026-06-09T03:00:38.5146584Z             },
2026-06-09T03:00:38.5146670Z             {
2026-06-09T03:00:38.5146771Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5146860Z               "line": 213
2026-06-09T03:00:38.5147048Z             },
2026-06-09T03:00:38.5147133Z             {
2026-06-09T03:00:38.5147232Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5147322Z               "line": 238
2026-06-09T03:00:38.5147422Z             },
2026-06-09T03:00:38.5147506Z             {
2026-06-09T03:00:38.5147615Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5147702Z               "line": 261
2026-06-09T03:00:38.5147783Z             },
2026-06-09T03:00:38.5147863Z             {
2026-06-09T03:00:38.5147977Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5148074Z               "line": 63
2026-06-09T03:00:38.5148150Z             }
2026-06-09T03:00:38.5148235Z           ]
2026-06-09T03:00:38.5148316Z         },
2026-06-09T03:00:38.5148398Z         "int": {
2026-06-09T03:00:38.5148493Z           "complete": true,
2026-06-09T03:00:38.5148583Z           "evidence": [
2026-06-09T03:00:38.5148665Z             {
2026-06-09T03:00:38.5148783Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5149056Z               "line": 284
2026-06-09T03:00:38.5149136Z             },
2026-06-09T03:00:38.5149222Z             {
2026-06-09T03:00:38.5149343Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-09T03:00:38.5149432Z               "line": 102
2026-06-09T03:00:38.5149513Z             },
2026-06-09T03:00:38.5149595Z             {
2026-06-09T03:00:38.5149714Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5149798Z               "line": 613
2026-06-09T03:00:38.5149879Z             },
2026-06-09T03:00:38.5149960Z             {
2026-06-09T03:00:38.5150078Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5150168Z               "line": 1006
2026-06-09T03:00:38.5150249Z             }
2026-06-09T03:00:38.5150330Z           ]
2026-06-09T03:00:38.5150416Z         },
2026-06-09T03:00:38.5150497Z         "unit": {
2026-06-09T03:00:38.5150587Z           "complete": true,
2026-06-09T03:00:38.5150688Z           "evidence": [
2026-06-09T03:00:38.5150778Z             {
2026-06-09T03:00:38.5150893Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5150979Z               "line": 514
2026-06-09T03:00:38.5151060Z             },
2026-06-09T03:00:38.5151140Z             {
2026-06-09T03:00:38.5151246Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5151336Z               "line": 563
2026-06-09T03:00:38.5151426Z             },
2026-06-09T03:00:38.5151508Z             {
2026-06-09T03:00:38.5151613Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5151698Z               "line": 666
2026-06-09T03:00:38.5151779Z             },
2026-06-09T03:00:38.5151861Z             {
2026-06-09T03:00:38.5151970Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5152056Z               "line": 698
2026-06-09T03:00:38.5152137Z             },
2026-06-09T03:00:38.5152219Z             {
2026-06-09T03:00:38.5152327Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5152423Z               "line": 766
2026-06-09T03:00:38.5152505Z             },
2026-06-09T03:00:38.5152586Z             {
2026-06-09T03:00:38.5152694Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5152779Z               "line": 824
2026-06-09T03:00:38.5152862Z             },
2026-06-09T03:00:38.5152943Z             {
2026-06-09T03:00:38.5153052Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5153137Z               "line": 1045
2026-06-09T03:00:38.5153219Z             },
2026-06-09T03:00:38.5153299Z             {
2026-06-09T03:00:38.5153414Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5153501Z               "line": 157
2026-06-09T03:00:38.5153582Z             },
2026-06-09T03:00:38.5153671Z             {
2026-06-09T03:00:38.5153787Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5153872Z               "line": 250
2026-06-09T03:00:38.5153967Z             },
2026-06-09T03:00:38.5154048Z             {
2026-06-09T03:00:38.5154163Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-09T03:00:38.5154248Z               "line": 273
2026-06-09T03:00:38.5154334Z             },
2026-06-09T03:00:38.5154421Z             {
2026-06-09T03:00:38.5154539Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.5154625Z               "line": 341
2026-06-09T03:00:38.5154707Z             },
2026-06-09T03:00:38.5154788Z             {
2026-06-09T03:00:38.5154901Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-09T03:00:38.5154988Z               "line": 373
2026-06-09T03:00:38.5155070Z             },
2026-06-09T03:00:38.5155155Z             {
2026-06-09T03:00:38.5155277Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-09T03:00:38.5155363Z               "line": 131
2026-06-09T03:00:38.5155444Z             },
2026-06-09T03:00:38.5155528Z             {
2026-06-09T03:00:38.5155738Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-09T03:00:38.5155900Z               "line": 72
2026-06-09T03:00:38.5155981Z             },
2026-06-09T03:00:38.5156062Z             {
2026-06-09T03:00:38.5156171Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-09T03:00:38.5156257Z               "line": 97
2026-06-09T03:00:38.5156339Z             },
2026-06-09T03:00:38.5156420Z             {
2026-06-09T03:00:38.5156529Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5156620Z               "line": 379
2026-06-09T03:00:38.5156701Z             },
2026-06-09T03:00:38.5156782Z             {
2026-06-09T03:00:38.5156891Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5157068Z               "line": 417
2026-06-09T03:00:38.5157144Z             },
2026-06-09T03:00:38.5157225Z             {
2026-06-09T03:00:38.5157336Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5157444Z               "line": 433
2026-06-09T03:00:38.5157530Z             },
2026-06-09T03:00:38.5157627Z             {
2026-06-09T03:00:38.5157745Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5157830Z               "line": 472
2026-06-09T03:00:38.5157910Z             },
2026-06-09T03:00:38.5157992Z             {
2026-06-09T03:00:38.5158095Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5158175Z               "line": 489
2026-06-09T03:00:38.5158271Z             },
2026-06-09T03:00:38.5158357Z             {
2026-06-09T03:00:38.5158490Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5158586Z               "line": 517
2026-06-09T03:00:38.5158677Z             },
2026-06-09T03:00:38.5158772Z             {
2026-06-09T03:00:38.5158881Z               "path": "crates/spt-store/src/notif.rs",
2026-06-09T03:00:38.5158968Z               "line": 548
2026-06-09T03:00:38.5159053Z             },
2026-06-09T03:00:38.5159138Z             {
2026-06-09T03:00:38.5159268Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5159373Z               "line": 455
2026-06-09T03:00:38.5159458Z             }
2026-06-09T03:00:38.5159545Z           ]
2026-06-09T03:00:38.5159630Z         }
2026-06-09T03:00:38.5159725Z       }
2026-06-09T03:00:38.5159811Z     },
2026-06-09T03:00:38.5159893Z     {
2026-06-09T03:00:38.5159997Z       "id": "REQ-NOTIF-2",
2026-06-09T03:00:38.5160260Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-09T03:00:38.5160354Z       "requiredStages": [
2026-06-09T03:00:38.5160439Z         "doc",
2026-06-09T03:00:38.5160525Z         "impl",
2026-06-09T03:00:38.5160605Z         "unit",
2026-06-09T03:00:38.5160685Z         "int"
2026-06-09T03:00:38.5160770Z       ],
2026-06-09T03:00:38.5160852Z       "stages": {
2026-06-09T03:00:38.5160944Z         "doc": {
2026-06-09T03:00:38.5161042Z           "complete": true,
2026-06-09T03:00:38.5161129Z           "evidence": [
2026-06-09T03:00:38.5161220Z             {
2026-06-09T03:00:38.5161328Z               "path": "CONTEXT.md",
2026-06-09T03:00:38.5161424Z               "line": 346
2026-06-09T03:00:38.5161515Z             },
2026-06-09T03:00:38.5161601Z             {
2026-06-09T03:00:38.5161700Z               "path": "docs/MANIFEST.md",
2026-06-09T03:00:38.5161797Z               "line": 62
2026-06-09T03:00:38.5161882Z             }
2026-06-09T03:00:38.5161972Z           ]
2026-06-09T03:00:38.5162058Z         },
2026-06-09T03:00:38.5162145Z         "impl": {
2026-06-09T03:00:38.5162234Z           "complete": true,
2026-06-09T03:00:38.5162320Z           "evidence": [
2026-06-09T03:00:38.5162412Z             {
2026-06-09T03:00:38.5162526Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5162616Z               "line": 280
2026-06-09T03:00:38.5162697Z             },
2026-06-09T03:00:38.5162785Z             {
2026-06-09T03:00:38.5162896Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5163080Z               "line": 294
2026-06-09T03:00:38.5163254Z             },
2026-06-09T03:00:38.5163339Z             {
2026-06-09T03:00:38.5163450Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5163545Z               "line": 319
2026-06-09T03:00:38.5163616Z             },
2026-06-09T03:00:38.5163702Z             {
2026-06-09T03:00:38.5163823Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.5163912Z               "line": 126
2026-06-09T03:00:38.5163983Z             },
2026-06-09T03:00:38.5164070Z             {
2026-06-09T03:00:38.5164189Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5164279Z               "line": 72
2026-06-09T03:00:38.5164381Z             },
2026-06-09T03:00:38.5164460Z             {
2026-06-09T03:00:38.5164584Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5164666Z               "line": 1449
2026-06-09T03:00:38.5164751Z             },
2026-06-09T03:00:38.5164832Z             {
2026-06-09T03:00:38.5164937Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5165034Z               "line": 1498
2026-06-09T03:00:38.5165113Z             },
2026-06-09T03:00:38.5165199Z             {
2026-06-09T03:00:38.5165310Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5165400Z               "line": 1577
2026-06-09T03:00:38.5165485Z             },
2026-06-09T03:00:38.5165587Z             {
2026-06-09T03:00:38.5165706Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5165790Z               "line": 1616
2026-06-09T03:00:38.5165875Z             }
2026-06-09T03:00:38.5165952Z           ]
2026-06-09T03:00:38.5166037Z         },
2026-06-09T03:00:38.5166145Z         "int": {
2026-06-09T03:00:38.5166255Z           "complete": true,
2026-06-09T03:00:38.5166355Z           "evidence": [
2026-06-09T03:00:38.5166431Z             {
2026-06-09T03:00:38.5166551Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5166636Z               "line": 739
2026-06-09T03:00:38.5166741Z             },
2026-06-09T03:00:38.5166826Z             {
2026-06-09T03:00:38.5167027Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5167118Z               "line": 1159
2026-06-09T03:00:38.5167199Z             }
2026-06-09T03:00:38.5167285Z           ]
2026-06-09T03:00:38.5167357Z         },
2026-06-09T03:00:38.5167447Z         "unit": {
2026-06-09T03:00:38.5167538Z           "complete": true,
2026-06-09T03:00:38.5167628Z           "evidence": [
2026-06-09T03:00:38.5167714Z             {
2026-06-09T03:00:38.5167819Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5167906Z               "line": 894
2026-06-09T03:00:38.5167985Z             },
2026-06-09T03:00:38.5168067Z             {
2026-06-09T03:00:38.5168178Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5168263Z               "line": 962
2026-06-09T03:00:38.5168352Z             },
2026-06-09T03:00:38.5168437Z             {
2026-06-09T03:00:38.5168604Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5168693Z               "line": 5212
2026-06-09T03:00:38.5168778Z             },
2026-06-09T03:00:38.5168865Z             {
2026-06-09T03:00:38.5168965Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5169054Z               "line": 5267
2026-06-09T03:00:38.5169136Z             }
2026-06-09T03:00:38.5169218Z           ]
2026-06-09T03:00:38.5169303Z         }
2026-06-09T03:00:38.5169388Z       }
2026-06-09T03:00:38.5169471Z     },
2026-06-09T03:00:38.5169547Z     {
2026-06-09T03:00:38.5169646Z       "id": "REQ-PAIR-1",
2026-06-09T03:00:38.5169747Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-09T03:00:38.5169843Z       "requiredStages": [
2026-06-09T03:00:38.5169923Z         "impl",
2026-06-09T03:00:38.5170013Z         "unit",
2026-06-09T03:00:38.5170124Z         "int"
2026-06-09T03:00:38.5170228Z       ],
2026-06-09T03:00:38.5170319Z       "stages": {
2026-06-09T03:00:38.5170395Z         "doc": {
2026-06-09T03:00:38.5170696Z           "complete": false,
2026-06-09T03:00:38.5170782Z           "evidence": []
2026-06-09T03:00:38.5170858Z         },
2026-06-09T03:00:38.5170947Z         "impl": {
2026-06-09T03:00:38.5171027Z           "complete": true,
2026-06-09T03:00:38.5171109Z           "evidence": [
2026-06-09T03:00:38.5171193Z             {
2026-06-09T03:00:38.5171364Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5171465Z               "line": 27
2026-06-09T03:00:38.5171550Z             },
2026-06-09T03:00:38.5171636Z             {
2026-06-09T03:00:38.5171756Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5171842Z               "line": 88
2026-06-09T03:00:38.5171926Z             },
2026-06-09T03:00:38.5172013Z             {
2026-06-09T03:00:38.5172132Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5172227Z               "line": 110
2026-06-09T03:00:38.5172318Z             },
2026-06-09T03:00:38.5172409Z             {
2026-06-09T03:00:38.5172537Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5172623Z               "line": 153
2026-06-09T03:00:38.5172715Z             },
2026-06-09T03:00:38.5172794Z             {
2026-06-09T03:00:38.5172919Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5173020Z               "line": 182
2026-06-09T03:00:38.5173091Z             },
2026-06-09T03:00:38.5173162Z             {
2026-06-09T03:00:38.5173282Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5173373Z               "line": 29
2026-06-09T03:00:38.5173457Z             },
2026-06-09T03:00:38.5173558Z             {
2026-06-09T03:00:38.5173697Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-09T03:00:38.5173781Z               "line": 31
2026-06-09T03:00:38.5173871Z             },
2026-06-09T03:00:38.5173952Z             {
2026-06-09T03:00:38.5174082Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5174181Z               "line": 44
2026-06-09T03:00:38.5174263Z             },
2026-06-09T03:00:38.5174344Z             {
2026-06-09T03:00:38.5174462Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5174553Z               "line": 171
2026-06-09T03:00:38.5174630Z             },
2026-06-09T03:00:38.5174717Z             {
2026-06-09T03:00:38.5174839Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5174926Z               "line": 376
2026-06-09T03:00:38.5175006Z             }
2026-06-09T03:00:38.5175092Z           ]
2026-06-09T03:00:38.5175173Z         },
2026-06-09T03:00:38.5175260Z         "int": {
2026-06-09T03:00:38.5175354Z           "complete": true,
2026-06-09T03:00:38.5175450Z           "evidence": [
2026-06-09T03:00:38.5175527Z             {
2026-06-09T03:00:38.5175650Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5175740Z               "line": 574
2026-06-09T03:00:38.5175837Z             },
2026-06-09T03:00:38.5175923Z             {
2026-06-09T03:00:38.5176040Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5176137Z               "line": 791
2026-06-09T03:00:38.5176214Z             }
2026-06-09T03:00:38.5176298Z           ]
2026-06-09T03:00:38.5176379Z         },
2026-06-09T03:00:38.5176469Z         "unit": {
2026-06-09T03:00:38.5176560Z           "complete": true,
2026-06-09T03:00:38.5176653Z           "evidence": [
2026-06-09T03:00:38.5176738Z             {
2026-06-09T03:00:38.5176854Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5177034Z               "line": 236
2026-06-09T03:00:38.5177111Z             },
2026-06-09T03:00:38.5177192Z             {
2026-06-09T03:00:38.5177315Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-09T03:00:38.5177410Z               "line": 349
2026-06-09T03:00:38.5177498Z             },
2026-06-09T03:00:38.5177692Z             {
2026-06-09T03:00:38.5177902Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5177992Z               "line": 194
2026-06-09T03:00:38.5178074Z             },
2026-06-09T03:00:38.5178156Z             {
2026-06-09T03:00:38.5178279Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5178374Z               "line": 216
2026-06-09T03:00:38.5178457Z             },
2026-06-09T03:00:38.5178536Z             {
2026-06-09T03:00:38.5178651Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5178742Z               "line": 230
2026-06-09T03:00:38.5178823Z             },
2026-06-09T03:00:38.5178907Z             {
2026-06-09T03:00:38.5179036Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5179121Z               "line": 242
2026-06-09T03:00:38.5179210Z             },
2026-06-09T03:00:38.5179295Z             {
2026-06-09T03:00:38.5179415Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5179520Z               "line": 256
2026-06-09T03:00:38.5179605Z             },
2026-06-09T03:00:38.5179687Z             {
2026-06-09T03:00:38.5179811Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5179901Z               "line": 270
2026-06-09T03:00:38.5179987Z             },
2026-06-09T03:00:38.5180074Z             {
2026-06-09T03:00:38.5180201Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5180287Z               "line": 277
2026-06-09T03:00:38.5180374Z             },
2026-06-09T03:00:38.5180455Z             {
2026-06-09T03:00:38.5180578Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-09T03:00:38.5180665Z               "line": 295
2026-06-09T03:00:38.5180755Z             },
2026-06-09T03:00:38.5180845Z             {
2026-06-09T03:00:38.5180960Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5181051Z               "line": 968
2026-06-09T03:00:38.5181145Z             },
2026-06-09T03:00:38.5181231Z             {
2026-06-09T03:00:38.5181347Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5181446Z               "line": 1051
2026-06-09T03:00:38.5181531Z             },
2026-06-09T03:00:38.5181612Z             {
2026-06-09T03:00:38.5181735Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5181819Z               "line": 1121
2026-06-09T03:00:38.5181900Z             },
2026-06-09T03:00:38.5181987Z             {
2026-06-09T03:00:38.5182106Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5182196Z               "line": 1182
2026-06-09T03:00:38.5182278Z             },
2026-06-09T03:00:38.5182364Z             {
2026-06-09T03:00:38.5182477Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5182568Z               "line": 1238
2026-06-09T03:00:38.5182655Z             },
2026-06-09T03:00:38.5182745Z             {
2026-06-09T03:00:38.5182878Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5182964Z               "line": 1457
2026-06-09T03:00:38.5183050Z             }
2026-06-09T03:00:38.5183130Z           ]
2026-06-09T03:00:38.5183218Z         }
2026-06-09T03:00:38.5183299Z       }
2026-06-09T03:00:38.5183393Z     },
2026-06-09T03:00:38.5183484Z     {
2026-06-09T03:00:38.5183570Z       "id": "REQ-PAIR-2",
2026-06-09T03:00:38.5183707Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-09T03:00:38.5183798Z       "requiredStages": [],
2026-06-09T03:00:38.5183895Z       "stages": {
2026-06-09T03:00:38.5183975Z         "doc": {
2026-06-09T03:00:38.5184075Z           "complete": false,
2026-06-09T03:00:38.5184167Z           "evidence": []
2026-06-09T03:00:38.5184248Z         },
2026-06-09T03:00:38.5184337Z         "impl": {
2026-06-09T03:00:38.5184422Z           "complete": false,
2026-06-09T03:00:38.5184517Z           "evidence": []
2026-06-09T03:00:38.5184693Z         },
2026-06-09T03:00:38.5184852Z         "int": {
2026-06-09T03:00:38.5184943Z           "complete": false,
2026-06-09T03:00:38.5185032Z           "evidence": []
2026-06-09T03:00:38.5185113Z         },
2026-06-09T03:00:38.5185200Z         "unit": {
2026-06-09T03:00:38.5185291Z           "complete": false,
2026-06-09T03:00:38.5185385Z           "evidence": []
2026-06-09T03:00:38.5185467Z         }
2026-06-09T03:00:38.5185557Z       }
2026-06-09T03:00:38.5185638Z     },
2026-06-09T03:00:38.5185724Z     {
2026-06-09T03:00:38.5185810Z       "id": "REQ-PAIR-3",
2026-06-09T03:00:38.5185953Z       "title": "Fetch current pairing code from any paired node",
2026-06-09T03:00:38.5186044Z       "requiredStages": [
2026-06-09T03:00:38.5186130Z         "impl",
2026-06-09T03:00:38.5186224Z         "unit"
2026-06-09T03:00:38.5186310Z       ],
2026-06-09T03:00:38.5186402Z       "stages": {
2026-06-09T03:00:38.5186493Z         "doc": {
2026-06-09T03:00:38.5186581Z           "complete": false,
2026-06-09T03:00:38.5186678Z           "evidence": []
2026-06-09T03:00:38.5186779Z         },
2026-06-09T03:00:38.5186877Z         "impl": {
2026-06-09T03:00:38.5187053Z           "complete": true,
2026-06-09T03:00:38.5187144Z           "evidence": [
2026-06-09T03:00:38.5187227Z             {
2026-06-09T03:00:38.5187331Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5187424Z               "line": 2000
2026-06-09T03:00:38.5187505Z             },
2026-06-09T03:00:38.5187594Z             {
2026-06-09T03:00:38.5187695Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5187785Z               "line": 2069
2026-06-09T03:00:38.5187866Z             },
2026-06-09T03:00:38.5187952Z             {
2026-06-09T03:00:38.5188048Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5188143Z               "line": 2305
2026-06-09T03:00:38.5188228Z             }
2026-06-09T03:00:38.5188305Z           ]
2026-06-09T03:00:38.5188392Z         },
2026-06-09T03:00:38.5188472Z         "int": {
2026-06-09T03:00:38.5188572Z           "complete": false,
2026-06-09T03:00:38.5188663Z           "evidence": []
2026-06-09T03:00:38.5188753Z         },
2026-06-09T03:00:38.5188853Z         "unit": {
2026-06-09T03:00:38.5188939Z           "complete": true,
2026-06-09T03:00:38.5189031Z           "evidence": [
2026-06-09T03:00:38.5189110Z             {
2026-06-09T03:00:38.5189211Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5189298Z               "line": 6580
2026-06-09T03:00:38.5189402Z             },
2026-06-09T03:00:38.5189515Z             {
2026-06-09T03:00:38.5189610Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5189696Z               "line": 6795
2026-06-09T03:00:38.5189780Z             },
2026-06-09T03:00:38.5189860Z             {
2026-06-09T03:00:38.5189956Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5190047Z               "line": 7302
2026-06-09T03:00:38.5190132Z             },
2026-06-09T03:00:38.5190218Z             {
2026-06-09T03:00:38.5190323Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5190414Z               "line": 7321
2026-06-09T03:00:38.5190499Z             },
2026-06-09T03:00:38.5190576Z             {
2026-06-09T03:00:38.5190681Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5190800Z               "line": 7345
2026-06-09T03:00:38.5190901Z             },
2026-06-09T03:00:38.5190986Z             {
2026-06-09T03:00:38.5191081Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5191172Z               "line": 7364
2026-06-09T03:00:38.5191254Z             },
2026-06-09T03:00:38.5191334Z             {
2026-06-09T03:00:38.5191439Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5191521Z               "line": 7377
2026-06-09T03:00:38.5191611Z             },
2026-06-09T03:00:38.5191691Z             {
2026-06-09T03:00:38.5191792Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5191879Z               "line": 7386
2026-06-09T03:00:38.5195393Z             }
2026-06-09T03:00:38.5195712Z           ]
2026-06-09T03:00:38.5195793Z         }
2026-06-09T03:00:38.5195874Z       }
2026-06-09T03:00:38.5195954Z     },
2026-06-09T03:00:38.5196037Z     {
2026-06-09T03:00:38.5196131Z       "id": "REQ-PAIR-4",
2026-06-09T03:00:38.5196259Z       "title": "Subnet naming on first pairing",
2026-06-09T03:00:38.5196375Z       "requiredStages": [
2026-06-09T03:00:38.5196460Z         "impl",
2026-06-09T03:00:38.5196541Z         "unit"
2026-06-09T03:00:38.5196618Z       ],
2026-06-09T03:00:38.5196709Z       "stages": {
2026-06-09T03:00:38.5196794Z         "doc": {
2026-06-09T03:00:38.5196884Z           "complete": false,
2026-06-09T03:00:38.5197072Z           "evidence": []
2026-06-09T03:00:38.5197151Z         },
2026-06-09T03:00:38.5197233Z         "impl": {
2026-06-09T03:00:38.5197329Z           "complete": true,
2026-06-09T03:00:38.5197437Z           "evidence": [
2026-06-09T03:00:38.5197518Z             {
2026-06-09T03:00:38.5197690Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-09T03:00:38.5197820Z               "line": 174
2026-06-09T03:00:38.5197901Z             }
2026-06-09T03:00:38.5197984Z           ]
2026-06-09T03:00:38.5198065Z         },
2026-06-09T03:00:38.5198149Z         "int": {
2026-06-09T03:00:38.5198241Z           "complete": false,
2026-06-09T03:00:38.5198327Z           "evidence": []
2026-06-09T03:00:38.5198408Z         },
2026-06-09T03:00:38.5198488Z         "unit": {
2026-06-09T03:00:38.5198584Z           "complete": true,
2026-06-09T03:00:38.5198670Z           "evidence": [
2026-06-09T03:00:38.5198751Z             {
2026-06-09T03:00:38.5198890Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5198985Z               "line": 1294
2026-06-09T03:00:38.5199066Z             }
2026-06-09T03:00:38.5199146Z           ]
2026-06-09T03:00:38.5199228Z         }
2026-06-09T03:00:38.5199309Z       }
2026-06-09T03:00:38.5199395Z     },
2026-06-09T03:00:38.5199480Z     {
2026-06-09T03:00:38.5199572Z       "id": "REQ-PAIR-5",
2026-06-09T03:00:38.5199887Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-09T03:00:38.5199976Z       "requiredStages": [
2026-06-09T03:00:38.5200061Z         "impl",
2026-06-09T03:00:38.5200141Z         "unit",
2026-06-09T03:00:38.5200233Z         "int"
2026-06-09T03:00:38.5200321Z       ],
2026-06-09T03:00:38.5200406Z       "stages": {
2026-06-09T03:00:38.5200492Z         "doc": {
2026-06-09T03:00:38.5200584Z           "complete": false,
2026-06-09T03:00:38.5200668Z           "evidence": []
2026-06-09T03:00:38.5200749Z         },
2026-06-09T03:00:38.5200841Z         "impl": {
2026-06-09T03:00:38.5200936Z           "complete": true,
2026-06-09T03:00:38.5201021Z           "evidence": [
2026-06-09T03:00:38.5201103Z             {
2026-06-09T03:00:38.5201232Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5201321Z               "line": 44
2026-06-09T03:00:38.5201398Z             },
2026-06-09T03:00:38.5201495Z             {
2026-06-09T03:00:38.5201622Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5201708Z               "line": 96
2026-06-09T03:00:38.5201785Z             },
2026-06-09T03:00:38.5201866Z             {
2026-06-09T03:00:38.5201989Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5202076Z               "line": 107
2026-06-09T03:00:38.5202157Z             },
2026-06-09T03:00:38.5202242Z             {
2026-06-09T03:00:38.5202357Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5202444Z               "line": 124
2026-06-09T03:00:38.5202524Z             },
2026-06-09T03:00:38.5202604Z             {
2026-06-09T03:00:38.5202718Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5202804Z               "line": 155
2026-06-09T03:00:38.5202887Z             },
2026-06-09T03:00:38.5202963Z             {
2026-06-09T03:00:38.5203083Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5203359Z               "line": 195
2026-06-09T03:00:38.5203441Z             },
2026-06-09T03:00:38.5203522Z             {
2026-06-09T03:00:38.5203640Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5203728Z               "line": 251
2026-06-09T03:00:38.5203808Z             },
2026-06-09T03:00:38.5203888Z             {
2026-06-09T03:00:38.5204028Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5204113Z               "line": 33
2026-06-09T03:00:38.5204194Z             },
2026-06-09T03:00:38.5204279Z             {
2026-06-09T03:00:38.5204414Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5204499Z               "line": 45
2026-06-09T03:00:38.5204580Z             },
2026-06-09T03:00:38.5204657Z             {
2026-06-09T03:00:38.5204794Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5204890Z               "line": 59
2026-06-09T03:00:38.5204977Z             },
2026-06-09T03:00:38.5205057Z             {
2026-06-09T03:00:38.5205175Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5205263Z               "line": 376
2026-06-09T03:00:38.5205344Z             }
2026-06-09T03:00:38.5205424Z           ]
2026-06-09T03:00:38.5205508Z         },
2026-06-09T03:00:38.5205590Z         "int": {
2026-06-09T03:00:38.5205686Z           "complete": true,
2026-06-09T03:00:38.5205771Z           "evidence": [
2026-06-09T03:00:38.5205861Z             {
2026-06-09T03:00:38.5205982Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5206068Z               "line": 791
2026-06-09T03:00:38.5206152Z             },
2026-06-09T03:00:38.5206233Z             {
2026-06-09T03:00:38.5206354Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5206439Z               "line": 342
2026-06-09T03:00:38.5206519Z             }
2026-06-09T03:00:38.5206611Z           ]
2026-06-09T03:00:38.5206701Z         },
2026-06-09T03:00:38.5206787Z         "unit": {
2026-06-09T03:00:38.5206877Z           "complete": true,
2026-06-09T03:00:38.5207058Z           "evidence": [
2026-06-09T03:00:38.5207130Z             {
2026-06-09T03:00:38.5207260Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5207359Z               "line": 293
2026-06-09T03:00:38.5207440Z             },
2026-06-09T03:00:38.5207522Z             {
2026-06-09T03:00:38.5207636Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5207725Z               "line": 304
2026-06-09T03:00:38.5207808Z             },
2026-06-09T03:00:38.5207894Z             {
2026-06-09T03:00:38.5208017Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5208097Z               "line": 406
2026-06-09T03:00:38.5208183Z             },
2026-06-09T03:00:38.5208264Z             {
2026-06-09T03:00:38.5208399Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5208496Z               "line": 72
2026-06-09T03:00:38.5208586Z             },
2026-06-09T03:00:38.5208667Z             {
2026-06-09T03:00:38.5208796Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5208887Z               "line": 82
2026-06-09T03:00:38.5208968Z             },
2026-06-09T03:00:38.5209048Z             {
2026-06-09T03:00:38.5209183Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5209267Z               "line": 100
2026-06-09T03:00:38.5209353Z             },
2026-06-09T03:00:38.5209430Z             {
2026-06-09T03:00:38.5209564Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5209645Z               "line": 110
2026-06-09T03:00:38.5209726Z             },
2026-06-09T03:00:38.5209808Z             {
2026-06-09T03:00:38.5209935Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-09T03:00:38.5210122Z               "line": 125
2026-06-09T03:00:38.5210316Z             },
2026-06-09T03:00:38.5210399Z             {
2026-06-09T03:00:38.5210513Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5210607Z               "line": 1044
2026-06-09T03:00:38.5210692Z             },
2026-06-09T03:00:38.5210773Z             {
2026-06-09T03:00:38.5210891Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5210976Z               "line": 1110
2026-06-09T03:00:38.5211062Z             },
2026-06-09T03:00:38.5211139Z             {
2026-06-09T03:00:38.5211262Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5211348Z               "line": 1357
2026-06-09T03:00:38.5211430Z             }
2026-06-09T03:00:38.5211516Z           ]
2026-06-09T03:00:38.5211595Z         }
2026-06-09T03:00:38.5211682Z       }
2026-06-09T03:00:38.5211759Z     },
2026-06-09T03:00:38.5211840Z     {
2026-06-09T03:00:38.5211929Z       "id": "REQ-PAIR-6",
2026-06-09T03:00:38.5212206Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-09T03:00:38.5212317Z       "requiredStages": [
2026-06-09T03:00:38.5212398Z         "impl",
2026-06-09T03:00:38.5212482Z         "unit"
2026-06-09T03:00:38.5212559Z       ],
2026-06-09T03:00:38.5212646Z       "stages": {
2026-06-09T03:00:38.5212727Z         "doc": {
2026-06-09T03:00:38.5212816Z           "complete": false,
2026-06-09T03:00:38.5212903Z           "evidence": []
2026-06-09T03:00:38.5212985Z         },
2026-06-09T03:00:38.5213070Z         "impl": {
2026-06-09T03:00:38.5213159Z           "complete": true,
2026-06-09T03:00:38.5213244Z           "evidence": [
2026-06-09T03:00:38.5213326Z             {
2026-06-09T03:00:38.5213438Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5213524Z               "line": 2069
2026-06-09T03:00:38.5213605Z             },
2026-06-09T03:00:38.5213691Z             {
2026-06-09T03:00:38.5213800Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5213895Z               "line": 2305
2026-06-09T03:00:38.5213982Z             },
2026-06-09T03:00:38.5214068Z             {
2026-06-09T03:00:38.5214181Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.5214263Z               "line": 18
2026-06-09T03:00:38.5214349Z             },
2026-06-09T03:00:38.5214430Z             {
2026-06-09T03:00:38.5214534Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.5214621Z               "line": 49
2026-06-09T03:00:38.5214702Z             },
2026-06-09T03:00:38.5214787Z             {
2026-06-09T03:00:38.5214888Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.5214979Z               "line": 163
2026-06-09T03:00:38.5215059Z             }
2026-06-09T03:00:38.5215140Z           ]
2026-06-09T03:00:38.5215222Z         },
2026-06-09T03:00:38.5215303Z         "int": {
2026-06-09T03:00:38.5215397Z           "complete": false,
2026-06-09T03:00:38.5215488Z           "evidence": []
2026-06-09T03:00:38.5215580Z         },
2026-06-09T03:00:38.5215659Z         "unit": {
2026-06-09T03:00:38.5215755Z           "complete": true,
2026-06-09T03:00:38.5215852Z           "evidence": [
2026-06-09T03:00:38.5215932Z             {
2026-06-09T03:00:38.5216031Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5216116Z               "line": 7399
2026-06-09T03:00:38.5216203Z             },
2026-06-09T03:00:38.5216280Z             {
2026-06-09T03:00:38.5216379Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5216470Z               "line": 7416
2026-06-09T03:00:38.5216551Z             },
2026-06-09T03:00:38.5216642Z             {
2026-06-09T03:00:38.5216745Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.5216833Z               "line": 228
2026-06-09T03:00:38.5216909Z             },
2026-06-09T03:00:38.5217089Z             {
2026-06-09T03:00:38.5217195Z               "path": "crates/spt/src/elevation.rs",
2026-06-09T03:00:38.5217510Z               "line": 237
2026-06-09T03:00:38.5217685Z             }
2026-06-09T03:00:38.5217767Z           ]
2026-06-09T03:00:38.5217853Z         }
2026-06-09T03:00:38.5217933Z       }
2026-06-09T03:00:38.5218014Z     },
2026-06-09T03:00:38.5218097Z     {
2026-06-09T03:00:38.5218192Z       "id": "REQ-PAIR-7",
2026-06-09T03:00:38.5218343Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-09T03:00:38.5218440Z       "requiredStages": [],
2026-06-09T03:00:38.5218530Z       "stages": {
2026-06-09T03:00:38.5218609Z         "doc": {
2026-06-09T03:00:38.5218704Z           "complete": false,
2026-06-09T03:00:38.5218795Z           "evidence": []
2026-06-09T03:00:38.5218875Z         },
2026-06-09T03:00:38.5218959Z         "impl": {
2026-06-09T03:00:38.5219051Z           "complete": false,
2026-06-09T03:00:38.5219137Z           "evidence": []
2026-06-09T03:00:38.5219218Z         },
2026-06-09T03:00:38.5219302Z         "int": {
2026-06-09T03:00:38.5219394Z           "complete": false,
2026-06-09T03:00:38.5219494Z           "evidence": []
2026-06-09T03:00:38.5219575Z         },
2026-06-09T03:00:38.5219656Z         "unit": {
2026-06-09T03:00:38.5219748Z           "complete": false,
2026-06-09T03:00:38.5219832Z           "evidence": []
2026-06-09T03:00:38.5219913Z         }
2026-06-09T03:00:38.5220000Z       }
2026-06-09T03:00:38.5220081Z     },
2026-06-09T03:00:38.5220162Z     {
2026-06-09T03:00:38.5220252Z       "id": "REQ-PAIR-8",
2026-06-09T03:00:38.5221588Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-09T03:00:38.5221685Z       "requiredStages": [
2026-06-09T03:00:38.5221770Z         "impl",
2026-06-09T03:00:38.5221860Z         "unit"
2026-06-09T03:00:38.5221937Z       ],
2026-06-09T03:00:38.5222023Z       "stages": {
2026-06-09T03:00:38.5222099Z         "doc": {
2026-06-09T03:00:38.5222184Z           "complete": false,
2026-06-09T03:00:38.5222271Z           "evidence": []
2026-06-09T03:00:38.5222343Z         },
2026-06-09T03:00:38.5222433Z         "impl": {
2026-06-09T03:00:38.5222528Z           "complete": true,
2026-06-09T03:00:38.5222629Z           "evidence": [
2026-06-09T03:00:38.5222714Z             {
2026-06-09T03:00:38.5222847Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5222935Z               "line": 577
2026-06-09T03:00:38.5223014Z             },
2026-06-09T03:00:38.5223095Z             {
2026-06-09T03:00:38.5223220Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5223311Z               "line": 22
2026-06-09T03:00:38.5223391Z             },
2026-06-09T03:00:38.5223472Z             {
2026-06-09T03:00:38.5223607Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5223695Z               "line": 76
2026-06-09T03:00:38.5223781Z             },
2026-06-09T03:00:38.5223857Z             {
2026-06-09T03:00:38.5223985Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5224069Z               "line": 127
2026-06-09T03:00:38.5224150Z             }
2026-06-09T03:00:38.5224232Z           ]
2026-06-09T03:00:38.5224309Z         },
2026-06-09T03:00:38.5224389Z         "int": {
2026-06-09T03:00:38.5224480Z           "complete": false,
2026-06-09T03:00:38.5224566Z           "evidence": []
2026-06-09T03:00:38.5224647Z         },
2026-06-09T03:00:38.5224732Z         "unit": {
2026-06-09T03:00:38.5224818Z           "complete": true,
2026-06-09T03:00:38.5224904Z           "evidence": [
2026-06-09T03:00:38.5224980Z             {
2026-06-09T03:00:38.5225099Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5225182Z               "line": 183
2026-06-09T03:00:38.5225342Z             },
2026-06-09T03:00:38.5225497Z             {
2026-06-09T03:00:38.5225619Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5225700Z               "line": 195
2026-06-09T03:00:38.5225787Z             },
2026-06-09T03:00:38.5225863Z             {
2026-06-09T03:00:38.5225981Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5226068Z               "line": 211
2026-06-09T03:00:38.5226150Z             },
2026-06-09T03:00:38.5226234Z             {
2026-06-09T03:00:38.5226344Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-09T03:00:38.5226431Z               "line": 227
2026-06-09T03:00:38.5226511Z             }
2026-06-09T03:00:38.5226596Z           ]
2026-06-09T03:00:38.5226676Z         }
2026-06-09T03:00:38.5226758Z       }
2026-06-09T03:00:38.5226840Z     },
2026-06-09T03:00:38.5226920Z     {
2026-06-09T03:00:38.5227097Z       "id": "REQ-PRES-1",
2026-06-09T03:00:38.5228427Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-09T03:00:38.5228536Z       "requiredStages": [
2026-06-09T03:00:38.5228623Z         "impl",
2026-06-09T03:00:38.5228704Z         "unit",
2026-06-09T03:00:38.5228789Z         "int"
2026-06-09T03:00:38.5228865Z       ],
2026-06-09T03:00:38.5228952Z       "stages": {
2026-06-09T03:00:38.5229038Z         "doc": {
2026-06-09T03:00:38.5229137Z           "complete": true,
2026-06-09T03:00:38.5229231Z           "evidence": [
2026-06-09T03:00:38.5229308Z             {
2026-06-09T03:00:38.5229412Z               "path": "docs/DEFERRED.md",
2026-06-09T03:00:38.5229501Z               "line": 11
2026-06-09T03:00:38.5229601Z             }
2026-06-09T03:00:38.5229683Z           ]
2026-06-09T03:00:38.5229764Z         },
2026-06-09T03:00:38.5229853Z         "impl": {
2026-06-09T03:00:38.5229940Z           "complete": true,
2026-06-09T03:00:38.5230031Z           "evidence": [
2026-06-09T03:00:38.5230107Z             {
2026-06-09T03:00:38.5230226Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5230317Z               "line": 515
2026-06-09T03:00:38.5230407Z             },
2026-06-09T03:00:38.5230488Z             {
2026-06-09T03:00:38.5230608Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5230693Z               "line": 567
2026-06-09T03:00:38.5230779Z             },
2026-06-09T03:00:38.5230865Z             {
2026-06-09T03:00:38.5230984Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5231070Z               "line": 181
2026-06-09T03:00:38.5231165Z             },
2026-06-09T03:00:38.5231243Z             {
2026-06-09T03:00:38.5231361Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5231451Z               "line": 207
2026-06-09T03:00:38.5231539Z             },
2026-06-09T03:00:38.5231619Z             {
2026-06-09T03:00:38.5231741Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5231826Z               "line": 28
2026-06-09T03:00:38.5231908Z             },
2026-06-09T03:00:38.5231992Z             {
2026-06-09T03:00:38.5232110Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5232197Z               "line": 105
2026-06-09T03:00:38.5232282Z             },
2026-06-09T03:00:38.5232373Z             {
2026-06-09T03:00:38.5232488Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5232569Z               "line": 161
2026-06-09T03:00:38.5232650Z             },
2026-06-09T03:00:38.5232730Z             {
2026-06-09T03:00:38.5232846Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5233045Z               "line": 180
2026-06-09T03:00:38.5233222Z             },
2026-06-09T03:00:38.5233308Z             {
2026-06-09T03:00:38.5233427Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5233518Z               "line": 399
2026-06-09T03:00:38.5233598Z             },
2026-06-09T03:00:38.5233679Z             {
2026-06-09T03:00:38.5233800Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5233890Z               "line": 289
2026-06-09T03:00:38.5233975Z             },
2026-06-09T03:00:38.5234056Z             {
2026-06-09T03:00:38.5234177Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5234260Z               "line": 336
2026-06-09T03:00:38.5234346Z             },
2026-06-09T03:00:38.5234427Z             {
2026-06-09T03:00:38.5234540Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5234629Z               "line": 362
2026-06-09T03:00:38.5234710Z             },
2026-06-09T03:00:38.5234807Z             {
2026-06-09T03:00:38.5234930Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5235015Z               "line": 100
2026-06-09T03:00:38.5235098Z             }
2026-06-09T03:00:38.5235179Z           ]
2026-06-09T03:00:38.5235263Z         },
2026-06-09T03:00:38.5235340Z         "int": {
2026-06-09T03:00:38.5235436Z           "complete": true,
2026-06-09T03:00:38.5235522Z           "evidence": [
2026-06-09T03:00:38.5235607Z             {
2026-06-09T03:00:38.5235727Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5235812Z               "line": 556
2026-06-09T03:00:38.5235897Z             },
2026-06-09T03:00:38.5235979Z             {
2026-06-09T03:00:38.5236104Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5236189Z               "line": 676
2026-06-09T03:00:38.5236275Z             },
2026-06-09T03:00:38.5236362Z             {
2026-06-09T03:00:38.5236474Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5236575Z               "line": 1069
2026-06-09T03:00:38.5236657Z             }
2026-06-09T03:00:38.5236743Z           ]
2026-06-09T03:00:38.5236822Z         },
2026-06-09T03:00:38.5236909Z         "unit": {
2026-06-09T03:00:38.5237090Z           "complete": true,
2026-06-09T03:00:38.5237184Z           "evidence": [
2026-06-09T03:00:38.5237285Z             {
2026-06-09T03:00:38.5237395Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5237504Z               "line": 601
2026-06-09T03:00:38.5237590Z             },
2026-06-09T03:00:38.5237695Z             {
2026-06-09T03:00:38.5237814Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5237899Z               "line": 237
2026-06-09T03:00:38.5237982Z             },
2026-06-09T03:00:38.5238063Z             {
2026-06-09T03:00:38.5238176Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5238263Z               "line": 268
2026-06-09T03:00:38.5238353Z             },
2026-06-09T03:00:38.5238443Z             {
2026-06-09T03:00:38.5238553Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5238644Z               "line": 304
2026-06-09T03:00:38.5238724Z             },
2026-06-09T03:00:38.5238801Z             {
2026-06-09T03:00:38.5238912Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-09T03:00:38.5239001Z               "line": 335
2026-06-09T03:00:38.5239087Z             },
2026-06-09T03:00:38.5239168Z             {
2026-06-09T03:00:38.5239288Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5239378Z               "line": 1135
2026-06-09T03:00:38.5239464Z             },
2026-06-09T03:00:38.5239551Z             {
2026-06-09T03:00:38.5239668Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5239763Z               "line": 1112
2026-06-09T03:00:38.5239849Z             }
2026-06-09T03:00:38.5239934Z           ]
2026-06-09T03:00:38.5240014Z         }
2026-06-09T03:00:38.5240305Z       }
2026-06-09T03:00:38.5240385Z     },
2026-06-09T03:00:38.5240476Z     {
2026-06-09T03:00:38.5240572Z       "id": "REQ-REACH-1",
2026-06-09T03:00:38.5240709Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-09T03:00:38.5240805Z       "requiredStages": [
2026-06-09T03:00:38.5240886Z         "impl",
2026-06-09T03:00:38.5240972Z         "unit",
2026-06-09T03:00:38.5241053Z         "int"
2026-06-09T03:00:38.5241135Z       ],
2026-06-09T03:00:38.5241220Z       "stages": {
2026-06-09T03:00:38.5241301Z         "doc": {
2026-06-09T03:00:38.5241406Z           "complete": false,
2026-06-09T03:00:38.5241497Z           "evidence": []
2026-06-09T03:00:38.5241582Z         },
2026-06-09T03:00:38.5241663Z         "impl": {
2026-06-09T03:00:38.5241754Z           "complete": true,
2026-06-09T03:00:38.5241845Z           "evidence": [
2026-06-09T03:00:38.5241925Z             {
2026-06-09T03:00:38.5242040Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-09T03:00:38.5242132Z               "line": 140
2026-06-09T03:00:38.5242221Z             },
2026-06-09T03:00:38.5242306Z             {
2026-06-09T03:00:38.5242416Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.5242506Z               "line": 76
2026-06-09T03:00:38.5242585Z             },
2026-06-09T03:00:38.5242670Z             {
2026-06-09T03:00:38.5242776Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.5242867Z               "line": 222
2026-06-09T03:00:38.5242952Z             },
2026-06-09T03:00:38.5243033Z             {
2026-06-09T03:00:38.5243144Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.5243224Z               "line": 422
2026-06-09T03:00:38.5243309Z             },
2026-06-09T03:00:38.5243387Z             {
2026-06-09T03:00:38.5243496Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.5243586Z               "line": 529
2026-06-09T03:00:38.5243672Z             },
2026-06-09T03:00:38.5243792Z             {
2026-06-09T03:00:38.5243929Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-09T03:00:38.5244022Z               "line": 39
2026-06-09T03:00:38.5244102Z             },
2026-06-09T03:00:38.5244187Z             {
2026-06-09T03:00:38.5244297Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.5244388Z               "line": 229
2026-06-09T03:00:38.5244473Z             },
2026-06-09T03:00:38.5244554Z             {
2026-06-09T03:00:38.5244661Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-09T03:00:38.5244746Z               "line": 88
2026-06-09T03:00:38.5244834Z             },
2026-06-09T03:00:38.5244925Z             {
2026-06-09T03:00:38.5245030Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-09T03:00:38.5245114Z               "line": 98
2026-06-09T03:00:38.5245194Z             },
2026-06-09T03:00:38.5245280Z             {
2026-06-09T03:00:38.5245391Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5245485Z               "line": 210
2026-06-09T03:00:38.5245575Z             }
2026-06-09T03:00:38.5245658Z           ]
2026-06-09T03:00:38.5245739Z         },
2026-06-09T03:00:38.5245823Z         "int": {
2026-06-09T03:00:38.5245920Z           "complete": true,
2026-06-09T03:00:38.5246006Z           "evidence": [
2026-06-09T03:00:38.5246087Z             {
2026-06-09T03:00:38.5246210Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5246297Z               "line": 414
2026-06-09T03:00:38.5246382Z             },
2026-06-09T03:00:38.5246462Z             {
2026-06-09T03:00:38.5246583Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5246669Z               "line": 513
2026-06-09T03:00:38.5246754Z             },
2026-06-09T03:00:38.5246840Z             {
2026-06-09T03:00:38.5247039Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5247125Z               "line": 902
2026-06-09T03:00:38.5247208Z             },
2026-06-09T03:00:38.5247508Z             {
2026-06-09T03:00:38.5247730Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5247820Z               "line": 1197
2026-06-09T03:00:38.5247903Z             }
2026-06-09T03:00:38.5247989Z           ]
2026-06-09T03:00:38.5248069Z         },
2026-06-09T03:00:38.5248150Z         "unit": {
2026-06-09T03:00:38.5248241Z           "complete": true,
2026-06-09T03:00:38.5248331Z           "evidence": [
2026-06-09T03:00:38.5248416Z             {
2026-06-09T03:00:38.5248528Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.5248618Z               "line": 639
2026-06-09T03:00:38.5248703Z             },
2026-06-09T03:00:38.5248784Z             {
2026-06-09T03:00:38.5248903Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-09T03:00:38.5248984Z               "line": 660
2026-06-09T03:00:38.5249075Z             },
2026-06-09T03:00:38.5249157Z             {
2026-06-09T03:00:38.5249275Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-09T03:00:38.5249375Z               "line": 391
2026-06-09T03:00:38.5249457Z             },
2026-06-09T03:00:38.5249547Z             {
2026-06-09T03:00:38.5249661Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-09T03:00:38.5249748Z               "line": 93
2026-06-09T03:00:38.5249834Z             },
2026-06-09T03:00:38.5249914Z             {
2026-06-09T03:00:38.5250029Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-09T03:00:38.5250116Z               "line": 224
2026-06-09T03:00:38.5250201Z             },
2026-06-09T03:00:38.5250285Z             {
2026-06-09T03:00:38.5250395Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-09T03:00:38.5250490Z               "line": 96
2026-06-09T03:00:38.5250569Z             },
2026-06-09T03:00:38.5250654Z             {
2026-06-09T03:00:38.5250760Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-09T03:00:38.5250851Z               "line": 146
2026-06-09T03:00:38.5250936Z             },
2026-06-09T03:00:38.5251022Z             {
2026-06-09T03:00:38.5251141Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.5251227Z               "line": 502
2026-06-09T03:00:38.5251307Z             },
2026-06-09T03:00:38.5251405Z             {
2026-06-09T03:00:38.5251537Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-09T03:00:38.5251622Z               "line": 118
2026-06-09T03:00:38.5251705Z             },
2026-06-09T03:00:38.5251785Z             {
2026-06-09T03:00:38.5251890Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-09T03:00:38.5251981Z               "line": 148
2026-06-09T03:00:38.5252058Z             },
2026-06-09T03:00:38.5252171Z             {
2026-06-09T03:00:38.5252285Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5252368Z               "line": 602
2026-06-09T03:00:38.5252466Z             }
2026-06-09T03:00:38.5252552Z           ]
2026-06-09T03:00:38.5252634Z         }
2026-06-09T03:00:38.5252716Z       }
2026-06-09T03:00:38.5252804Z     },
2026-06-09T03:00:38.5252894Z     {
2026-06-09T03:00:38.5253028Z       "id": "REQ-REACH-2",
2026-06-09T03:00:38.5253216Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-09T03:00:38.5253317Z       "requiredStages": [],
2026-06-09T03:00:38.5253408Z       "stages": {
2026-06-09T03:00:38.5253493Z         "doc": {
2026-06-09T03:00:38.5253593Z           "complete": false,
2026-06-09T03:00:38.5253680Z           "evidence": []
2026-06-09T03:00:38.5253765Z         },
2026-06-09T03:00:38.5253850Z         "impl": {
2026-06-09T03:00:38.5253947Z           "complete": false,
2026-06-09T03:00:38.5254047Z           "evidence": []
2026-06-09T03:00:38.5254122Z         },
2026-06-09T03:00:38.5254199Z         "int": {
2026-06-09T03:00:38.5254295Z           "complete": false,
2026-06-09T03:00:38.5254380Z           "evidence": []
2026-06-09T03:00:38.5254461Z         },
2026-06-09T03:00:38.5254543Z         "unit": {
2026-06-09T03:00:38.5254638Z           "complete": false,
2026-06-09T03:00:38.5254867Z           "evidence": []
2026-06-09T03:00:38.5255019Z         }
2026-06-09T03:00:38.5255105Z       }
2026-06-09T03:00:38.5255182Z     },
2026-06-09T03:00:38.5255268Z     {
2026-06-09T03:00:38.5255357Z       "id": "REQ-REL-1",
2026-06-09T03:00:38.5255721Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-09T03:00:38.5255816Z       "requiredStages": [
2026-06-09T03:00:38.5255888Z         "doc",
2026-06-09T03:00:38.5255975Z         "impl"
2026-06-09T03:00:38.5256055Z       ],
2026-06-09T03:00:38.5256141Z       "stages": {
2026-06-09T03:00:38.5256223Z         "doc": {
2026-06-09T03:00:38.5256318Z           "complete": true,
2026-06-09T03:00:38.5256407Z           "evidence": [
2026-06-09T03:00:38.5256489Z             {
2026-06-09T03:00:38.5256717Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-09T03:00:38.5256799Z               "line": 3
2026-06-09T03:00:38.5256900Z             }
2026-06-09T03:00:38.5257066Z           ]
2026-06-09T03:00:38.5257143Z         },
2026-06-09T03:00:38.5257229Z         "impl": {
2026-06-09T03:00:38.5257338Z           "complete": true,
2026-06-09T03:00:38.5257439Z           "evidence": [
2026-06-09T03:00:38.5257515Z             {
2026-06-09T03:00:38.5257662Z               "path": ".github/workflows/docs-publish.yml",
2026-06-09T03:00:38.5257753Z               "line": 11
2026-06-09T03:00:38.5257840Z             },
2026-06-09T03:00:38.5257924Z             {
2026-06-09T03:00:38.5258034Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5258126Z               "line": 265
2026-06-09T03:00:38.5258206Z             }
2026-06-09T03:00:38.5258290Z           ]
2026-06-09T03:00:38.5258371Z         },
2026-06-09T03:00:38.5258458Z         "int": {
2026-06-09T03:00:38.5258549Z           "complete": false,
2026-06-09T03:00:38.5258638Z           "evidence": []
2026-06-09T03:00:38.5258720Z         },
2026-06-09T03:00:38.5258811Z         "unit": {
2026-06-09T03:00:38.5258910Z           "complete": false,
2026-06-09T03:00:38.5259001Z           "evidence": []
2026-06-09T03:00:38.5259083Z         }
2026-06-09T03:00:38.5259163Z       }
2026-06-09T03:00:38.5259244Z     },
2026-06-09T03:00:38.5259329Z     {
2026-06-09T03:00:38.5259417Z       "id": "REQ-REL-2",
2026-06-09T03:00:38.5259878Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-09T03:00:38.5259969Z       "requiredStages": [
2026-06-09T03:00:38.5260056Z         "impl",
2026-06-09T03:00:38.5260149Z         "int"
2026-06-09T03:00:38.5260231Z       ],
2026-06-09T03:00:38.5260323Z       "stages": {
2026-06-09T03:00:38.5260404Z         "doc": {
2026-06-09T03:00:38.5260493Z           "complete": true,
2026-06-09T03:00:38.5260579Z           "evidence": [
2026-06-09T03:00:38.5260666Z             {
2026-06-09T03:00:38.5260784Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-09T03:00:38.5263175Z               "line": 6
2026-06-09T03:00:38.5263280Z             }
2026-06-09T03:00:38.5263369Z           ]
2026-06-09T03:00:38.5263449Z         },
2026-06-09T03:00:38.5263541Z         "impl": {
2026-06-09T03:00:38.5263635Z           "complete": true,
2026-06-09T03:00:38.5263725Z           "evidence": [
2026-06-09T03:00:38.5263814Z             {
2026-06-09T03:00:38.5263940Z               "path": ".github/workflows/release.yml",
2026-06-09T03:00:38.5264029Z               "line": 16
2026-06-09T03:00:38.5264114Z             },
2026-06-09T03:00:38.5264192Z             {
2026-06-09T03:00:38.5264306Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5264391Z               "line": 352
2026-06-09T03:00:38.5264473Z             },
2026-06-09T03:00:38.5264559Z             {
2026-06-09T03:00:38.5264664Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5264754Z               "line": 424
2026-06-09T03:00:38.5264974Z             },
2026-06-09T03:00:38.5265151Z             {
2026-06-09T03:00:38.5265260Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5265350Z               "line": 484
2026-06-09T03:00:38.5265432Z             },
2026-06-09T03:00:38.5265508Z             {
2026-06-09T03:00:38.5265622Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5265703Z               "line": 591
2026-06-09T03:00:38.5265786Z             }
2026-06-09T03:00:38.5265866Z           ]
2026-06-09T03:00:38.5265955Z         },
2026-06-09T03:00:38.5266045Z         "int": {
2026-06-09T03:00:38.5266136Z           "complete": true,
2026-06-09T03:00:38.5266220Z           "evidence": [
2026-06-09T03:00:38.5266300Z             {
2026-06-09T03:00:38.5266434Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-09T03:00:38.5266521Z               "line": 13
2026-06-09T03:00:38.5266601Z             }
2026-06-09T03:00:38.5266686Z           ]
2026-06-09T03:00:38.5266763Z         },
2026-06-09T03:00:38.5266869Z         "unit": {
2026-06-09T03:00:38.5267059Z           "complete": false,
2026-06-09T03:00:38.5267145Z           "evidence": []
2026-06-09T03:00:38.5267226Z         }
2026-06-09T03:00:38.5267311Z       }
2026-06-09T03:00:38.5267398Z     },
2026-06-09T03:00:38.5267493Z     {
2026-06-09T03:00:38.5267583Z       "id": "REQ-REL-3",
2026-06-09T03:00:38.5268014Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-09T03:00:38.5268109Z       "requiredStages": [
2026-06-09T03:00:38.5268193Z         "impl",
2026-06-09T03:00:38.5268275Z         "unit"
2026-06-09T03:00:38.5268361Z       ],
2026-06-09T03:00:38.5268442Z       "stages": {
2026-06-09T03:00:38.5268526Z         "doc": {
2026-06-09T03:00:38.5268618Z           "complete": false,
2026-06-09T03:00:38.5268710Z           "evidence": []
2026-06-09T03:00:38.5268794Z         },
2026-06-09T03:00:38.5268884Z         "impl": {
2026-06-09T03:00:38.5268975Z           "complete": true,
2026-06-09T03:00:38.5269061Z           "evidence": [
2026-06-09T03:00:38.5269142Z             {
2026-06-09T03:00:38.5269260Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5269371Z               "line": 224
2026-06-09T03:00:38.5269466Z             },
2026-06-09T03:00:38.5269546Z             {
2026-06-09T03:00:38.5269662Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5269748Z               "line": 276
2026-06-09T03:00:38.5269832Z             },
2026-06-09T03:00:38.5269909Z             {
2026-06-09T03:00:38.5270038Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5270152Z               "line": 329
2026-06-09T03:00:38.5270248Z             },
2026-06-09T03:00:38.5270325Z             {
2026-06-09T03:00:38.5270439Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5270553Z               "line": 353
2026-06-09T03:00:38.5270626Z             },
2026-06-09T03:00:38.5270719Z             {
2026-06-09T03:00:38.5270820Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5270907Z               "line": 392
2026-06-09T03:00:38.5270988Z             }
2026-06-09T03:00:38.5271067Z           ]
2026-06-09T03:00:38.5271149Z         },
2026-06-09T03:00:38.5271231Z         "int": {
2026-06-09T03:00:38.5271326Z           "complete": false,
2026-06-09T03:00:38.5271420Z           "evidence": []
2026-06-09T03:00:38.5271505Z         },
2026-06-09T03:00:38.5271587Z         "unit": {
2026-06-09T03:00:38.5271675Z           "complete": true,
2026-06-09T03:00:38.5271760Z           "evidence": [
2026-06-09T03:00:38.5271842Z             {
2026-06-09T03:00:38.5271956Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5272046Z               "line": 977
2026-06-09T03:00:38.5272127Z             },
2026-06-09T03:00:38.5272210Z             {
2026-06-09T03:00:38.5272319Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5272534Z               "line": 1036
2026-06-09T03:00:38.5272704Z             }
2026-06-09T03:00:38.5272791Z           ]
2026-06-09T03:00:38.5272873Z         }
2026-06-09T03:00:38.5272953Z       }
2026-06-09T03:00:38.5273033Z     },
2026-06-09T03:00:38.5273115Z     {
2026-06-09T03:00:38.5273220Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-09T03:00:38.5273396Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-09T03:00:38.5273488Z       "requiredStages": [
2026-06-09T03:00:38.5273572Z         "impl",
2026-06-09T03:00:38.5273654Z         "unit"
2026-06-09T03:00:38.5273725Z       ],
2026-06-09T03:00:38.5273798Z       "stages": {
2026-06-09T03:00:38.5273882Z         "doc": {
2026-06-09T03:00:38.5273972Z           "complete": false,
2026-06-09T03:00:38.5274067Z           "evidence": []
2026-06-09T03:00:38.5274172Z         },
2026-06-09T03:00:38.5274251Z         "impl": {
2026-06-09T03:00:38.5274346Z           "complete": true,
2026-06-09T03:00:38.5274432Z           "evidence": [
2026-06-09T03:00:38.5274533Z             {
2026-06-09T03:00:38.5274647Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5274737Z               "line": 18
2026-06-09T03:00:38.5274814Z             },
2026-06-09T03:00:38.5274895Z             {
2026-06-09T03:00:38.5275004Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5275087Z               "line": 35
2026-06-09T03:00:38.5275171Z             },
2026-06-09T03:00:38.5275252Z             {
2026-06-09T03:00:38.5275358Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5275444Z               "line": 72
2026-06-09T03:00:38.5275524Z             }
2026-06-09T03:00:38.5275605Z           ]
2026-06-09T03:00:38.5275682Z         },
2026-06-09T03:00:38.5275768Z         "int": {
2026-06-09T03:00:38.5275858Z           "complete": false,
2026-06-09T03:00:38.5275948Z           "evidence": []
2026-06-09T03:00:38.5276031Z         },
2026-06-09T03:00:38.5276116Z         "unit": {
2026-06-09T03:00:38.5276211Z           "complete": true,
2026-06-09T03:00:38.5276302Z           "evidence": [
2026-06-09T03:00:38.5276384Z             {
2026-06-09T03:00:38.5276491Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5276576Z               "line": 214
2026-06-09T03:00:38.5276658Z             },
2026-06-09T03:00:38.5276738Z             {
2026-06-09T03:00:38.5276847Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5276932Z               "line": 231
2026-06-09T03:00:38.5277119Z             },
2026-06-09T03:00:38.5277199Z             {
2026-06-09T03:00:38.5277304Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5277395Z               "line": 240
2026-06-09T03:00:38.5277471Z             }
2026-06-09T03:00:38.5277551Z           ]
2026-06-09T03:00:38.5277629Z         }
2026-06-09T03:00:38.5277710Z       }
2026-06-09T03:00:38.5277791Z     },
2026-06-09T03:00:38.5277876Z     {
2026-06-09T03:00:38.5277977Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-09T03:00:38.5278129Z       "title": "Hostable endpoint-types capability declaration",
2026-06-09T03:00:38.5278225Z       "requiredStages": [
2026-06-09T03:00:38.5278306Z         "impl",
2026-06-09T03:00:38.5278391Z         "unit"
2026-06-09T03:00:38.5278473Z       ],
2026-06-09T03:00:38.5278559Z       "stages": {
2026-06-09T03:00:38.5278645Z         "doc": {
2026-06-09T03:00:38.5278734Z           "complete": false,
2026-06-09T03:00:38.5278825Z           "evidence": []
2026-06-09T03:00:38.5278908Z         },
2026-06-09T03:00:38.5278988Z         "impl": {
2026-06-09T03:00:38.5279082Z           "complete": true,
2026-06-09T03:00:38.5279174Z           "evidence": [
2026-06-09T03:00:38.5279255Z             {
2026-06-09T03:00:38.5279378Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5279463Z               "line": 404
2026-06-09T03:00:38.5279549Z             }
2026-06-09T03:00:38.5279630Z           ]
2026-06-09T03:00:38.5279712Z         },
2026-06-09T03:00:38.5279893Z         "int": {
2026-06-09T03:00:38.5280078Z           "complete": false,
2026-06-09T03:00:38.5280164Z           "evidence": []
2026-06-09T03:00:38.5280246Z         },
2026-06-09T03:00:38.5280336Z         "unit": {
2026-06-09T03:00:38.5280426Z           "complete": true,
2026-06-09T03:00:38.5280513Z           "evidence": [
2026-06-09T03:00:38.5280594Z             {
2026-06-09T03:00:38.5280712Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5280798Z               "line": 641
2026-06-09T03:00:38.5280880Z             }
2026-06-09T03:00:38.5280964Z           ]
2026-06-09T03:00:38.5281051Z         }
2026-06-09T03:00:38.5281133Z       }
2026-06-09T03:00:38.5281214Z     },
2026-06-09T03:00:38.5281293Z     {
2026-06-09T03:00:38.5281390Z       "id": "REQ-SEAM-HISTORY",
2026-06-09T03:00:38.5281567Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-09T03:00:38.5281656Z       "requiredStages": [
2026-06-09T03:00:38.5281743Z         "impl",
2026-06-09T03:00:38.5281830Z         "unit",
2026-06-09T03:00:38.5281923Z         "int"
2026-06-09T03:00:38.5282003Z       ],
2026-06-09T03:00:38.5282090Z       "stages": {
2026-06-09T03:00:38.5282171Z         "doc": {
2026-06-09T03:00:38.5282259Z           "complete": false,
2026-06-09T03:00:38.5282349Z           "evidence": []
2026-06-09T03:00:38.5282426Z         },
2026-06-09T03:00:38.5282512Z         "impl": {
2026-06-09T03:00:38.5282602Z           "complete": true,
2026-06-09T03:00:38.5282687Z           "evidence": [
2026-06-09T03:00:38.5282770Z             {
2026-06-09T03:00:38.5282875Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.5282959Z               "line": 24
2026-06-09T03:00:38.5283041Z             },
2026-06-09T03:00:38.5283127Z             {
2026-06-09T03:00:38.5283241Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5283327Z               "line": 22
2026-06-09T03:00:38.5283409Z             }
2026-06-09T03:00:38.5283489Z           ]
2026-06-09T03:00:38.5283574Z         },
2026-06-09T03:00:38.5283670Z         "int": {
2026-06-09T03:00:38.5283762Z           "complete": true,
2026-06-09T03:00:38.5283846Z           "evidence": [
2026-06-09T03:00:38.5283927Z             {
2026-06-09T03:00:38.5284043Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.5284128Z               "line": 256
2026-06-09T03:00:38.5284214Z             }
2026-06-09T03:00:38.5284295Z           ]
2026-06-09T03:00:38.5284373Z         },
2026-06-09T03:00:38.5284461Z         "unit": {
2026-06-09T03:00:38.5284547Z           "complete": true,
2026-06-09T03:00:38.5284637Z           "evidence": [
2026-06-09T03:00:38.5284714Z             {
2026-06-09T03:00:38.5284825Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.5284911Z               "line": 167
2026-06-09T03:00:38.5284992Z             },
2026-06-09T03:00:38.5285069Z             {
2026-06-09T03:00:38.5285168Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.5285259Z               "line": 196
2026-06-09T03:00:38.5285337Z             },
2026-06-09T03:00:38.5285403Z             {
2026-06-09T03:00:38.5285502Z               "path": "crates/spt-live/src/echo.rs",
2026-06-09T03:00:38.5285593Z               "line": 216
2026-06-09T03:00:38.5285670Z             },
2026-06-09T03:00:38.5285751Z             {
2026-06-09T03:00:38.5285860Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5285942Z               "line": 199
2026-06-09T03:00:38.5286056Z             },
2026-06-09T03:00:38.5286137Z             {
2026-06-09T03:00:38.5286242Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5286328Z               "line": 219
2026-06-09T03:00:38.5286408Z             },
2026-06-09T03:00:38.5286494Z             {
2026-06-09T03:00:38.5286601Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5286685Z               "line": 244
2026-06-09T03:00:38.5286766Z             },
2026-06-09T03:00:38.5286852Z             {
2026-06-09T03:00:38.5287122Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5287303Z               "line": 269
2026-06-09T03:00:38.5287383Z             },
2026-06-09T03:00:38.5287463Z             {
2026-06-09T03:00:38.5287574Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5287660Z               "line": 290
2026-06-09T03:00:38.5287745Z             },
2026-06-09T03:00:38.5287831Z             {
2026-06-09T03:00:38.5287936Z               "path": "crates/spt-live/src/history.rs",
2026-06-09T03:00:38.5288022Z               "line": 317
2026-06-09T03:00:38.5288107Z             }
2026-06-09T03:00:38.5288189Z           ]
2026-06-09T03:00:38.5288270Z         }
2026-06-09T03:00:38.5288351Z       }
2026-06-09T03:00:38.5288441Z     },
2026-06-09T03:00:38.5288519Z     {
2026-06-09T03:00:38.5288618Z       "id": "REQ-SEAM-INJECT",
2026-06-09T03:00:38.5288770Z       "title": "inject-input methods configurable per activity-state",
2026-06-09T03:00:38.5288862Z       "requiredStages": [
2026-06-09T03:00:38.5288966Z         "impl",
2026-06-09T03:00:38.5289047Z         "unit"
2026-06-09T03:00:38.5289129Z       ],
2026-06-09T03:00:38.5289214Z       "stages": {
2026-06-09T03:00:38.5289304Z         "doc": {
2026-06-09T03:00:38.5289395Z           "complete": false,
2026-06-09T03:00:38.5289487Z           "evidence": []
2026-06-09T03:00:38.5289567Z         },
2026-06-09T03:00:38.5289651Z         "impl": {
2026-06-09T03:00:38.5289739Z           "complete": true,
2026-06-09T03:00:38.5289825Z           "evidence": [
2026-06-09T03:00:38.5289909Z             {
2026-06-09T03:00:38.5290018Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5290105Z               "line": 19
2026-06-09T03:00:38.5290182Z             },
2026-06-09T03:00:38.5290272Z             {
2026-06-09T03:00:38.5290381Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5290463Z               "line": 111
2026-06-09T03:00:38.5290544Z             }
2026-06-09T03:00:38.5290624Z           ]
2026-06-09T03:00:38.5290719Z         },
2026-06-09T03:00:38.5290801Z         "int": {
2026-06-09T03:00:38.5290892Z           "complete": false,
2026-06-09T03:00:38.5290976Z           "evidence": []
2026-06-09T03:00:38.5291059Z         },
2026-06-09T03:00:38.5291144Z         "unit": {
2026-06-09T03:00:38.5291230Z           "complete": true,
2026-06-09T03:00:38.5291315Z           "evidence": [
2026-06-09T03:00:38.5291393Z             {
2026-06-09T03:00:38.5291506Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5291587Z               "line": 320
2026-06-09T03:00:38.5291668Z             },
2026-06-09T03:00:38.5291750Z             {
2026-06-09T03:00:38.5291854Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5291945Z               "line": 340
2026-06-09T03:00:38.5292027Z             }
2026-06-09T03:00:38.5292108Z           ]
2026-06-09T03:00:38.5292187Z         }
2026-06-09T03:00:38.5292264Z       }
2026-06-09T03:00:38.5292347Z     },
2026-06-09T03:00:38.5292428Z     {
2026-06-09T03:00:38.5292540Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-09T03:00:38.5292669Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-09T03:00:38.5292759Z       "requiredStages": [
2026-06-09T03:00:38.5292843Z         "impl",
2026-06-09T03:00:38.5292923Z         "unit"
2026-06-09T03:00:38.5293010Z       ],
2026-06-09T03:00:38.5293096Z       "stages": {
2026-06-09T03:00:38.5293185Z         "doc": {
2026-06-09T03:00:38.5293272Z           "complete": false,
2026-06-09T03:00:38.5293363Z           "evidence": []
2026-06-09T03:00:38.5293445Z         },
2026-06-09T03:00:38.5293524Z         "impl": {
2026-06-09T03:00:38.5293616Z           "complete": true,
2026-06-09T03:00:38.5293706Z           "evidence": [
2026-06-09T03:00:38.5293792Z             {
2026-06-09T03:00:38.5293901Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5293993Z               "line": 18
2026-06-09T03:00:38.5294073Z             },
2026-06-09T03:00:38.5294153Z             {
2026-06-09T03:00:38.5294364Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5294535Z               "line": 309
2026-06-09T03:00:38.5294622Z             }
2026-06-09T03:00:38.5294702Z           ]
2026-06-09T03:00:38.5294792Z         },
2026-06-09T03:00:38.5294875Z         "int": {
2026-06-09T03:00:38.5294966Z           "complete": false,
2026-06-09T03:00:38.5295054Z           "evidence": []
2026-06-09T03:00:38.5295135Z         },
2026-06-09T03:00:38.5295216Z         "unit": {
2026-06-09T03:00:38.5295302Z           "complete": true,
2026-06-09T03:00:38.5295390Z           "evidence": [
2026-06-09T03:00:38.5295476Z             {
2026-06-09T03:00:38.5295582Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5295663Z               "line": 559
2026-06-09T03:00:38.5295743Z             },
2026-06-09T03:00:38.5295829Z             {
2026-06-09T03:00:38.5295934Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5296025Z               "line": 569
2026-06-09T03:00:38.5296110Z             }
2026-06-09T03:00:38.5296197Z           ]
2026-06-09T03:00:38.5296277Z         }
2026-06-09T03:00:38.5296358Z       }
2026-06-09T03:00:38.5296444Z     },
2026-06-09T03:00:38.5296521Z     {
2026-06-09T03:00:38.5296616Z       "id": "REQ-SEAM-PSYCHE",
2026-06-09T03:00:38.5296754Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-09T03:00:38.5296846Z       "requiredStages": [
2026-06-09T03:00:38.5296925Z         "impl",
2026-06-09T03:00:38.5297107Z         "unit",
2026-06-09T03:00:38.5297189Z         "int"
2026-06-09T03:00:38.5297268Z       ],
2026-06-09T03:00:38.5297359Z       "stages": {
2026-06-09T03:00:38.5297446Z         "doc": {
2026-06-09T03:00:38.5297537Z           "complete": false,
2026-06-09T03:00:38.5297626Z           "evidence": []
2026-06-09T03:00:38.5297701Z         },
2026-06-09T03:00:38.5297793Z         "impl": {
2026-06-09T03:00:38.5297882Z           "complete": true,
2026-06-09T03:00:38.5297967Z           "evidence": [
2026-06-09T03:00:38.5298062Z             {
2026-06-09T03:00:38.5298172Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-09T03:00:38.5298257Z               "line": 19
2026-06-09T03:00:38.5298338Z             },
2026-06-09T03:00:38.5298424Z             {
2026-06-09T03:00:38.5298530Z               "path": "crates/spt/src/api/live.rs",
2026-06-09T03:00:38.5298620Z               "line": 12
2026-06-09T03:00:38.5298701Z             },
2026-06-09T03:00:38.5298778Z             {
2026-06-09T03:00:38.5298887Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5298973Z               "line": 209
2026-06-09T03:00:38.5299054Z             }
2026-06-09T03:00:38.5299140Z           ]
2026-06-09T03:00:38.5299221Z         },
2026-06-09T03:00:38.5299306Z         "int": {
2026-06-09T03:00:38.5299393Z           "complete": true,
2026-06-09T03:00:38.5299478Z           "evidence": [
2026-06-09T03:00:38.5299559Z             {
2026-06-09T03:00:38.5299674Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.5299769Z               "line": 255
2026-06-09T03:00:38.5299855Z             }
2026-06-09T03:00:38.5299941Z           ]
2026-06-09T03:00:38.5300023Z         },
2026-06-09T03:00:38.5300103Z         "unit": {
2026-06-09T03:00:38.5300188Z           "complete": true,
2026-06-09T03:00:38.5300274Z           "evidence": [
2026-06-09T03:00:38.5300352Z             {
2026-06-09T03:00:38.5300460Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-09T03:00:38.5300545Z               "line": 161
2026-06-09T03:00:38.5300626Z             },
2026-06-09T03:00:38.5300703Z             {
2026-06-09T03:00:38.5300808Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-09T03:00:38.5300893Z               "line": 168
2026-06-09T03:00:38.5300974Z             },
2026-06-09T03:00:38.5301052Z             {
2026-06-09T03:00:38.5301165Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-09T03:00:38.5301246Z               "line": 191
2026-06-09T03:00:38.5301328Z             },
2026-06-09T03:00:38.5301518Z             {
2026-06-09T03:00:38.5301718Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-09T03:00:38.5301809Z               "line": 106
2026-06-09T03:00:38.5301890Z             },
2026-06-09T03:00:38.5301976Z             {
2026-06-09T03:00:38.5302081Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-09T03:00:38.5302166Z               "line": 137
2026-06-09T03:00:38.5302248Z             },
2026-06-09T03:00:38.5302334Z             {
2026-06-09T03:00:38.5302433Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-09T03:00:38.5302524Z               "line": 161
2026-06-09T03:00:38.5302606Z             }
2026-06-09T03:00:38.5302682Z           ]
2026-06-09T03:00:38.5302766Z         }
2026-06-09T03:00:38.5302844Z       }
2026-06-09T03:00:38.5302926Z     },
2026-06-09T03:00:38.5303006Z     {
2026-06-09T03:00:38.5303095Z       "id": "REQ-SEAM-RESUME",
2026-06-09T03:00:38.5303267Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-09T03:00:38.5303361Z       "requiredStages": [
2026-06-09T03:00:38.5303450Z         "impl",
2026-06-09T03:00:38.5303532Z         "unit"
2026-06-09T03:00:38.5303618Z       ],
2026-06-09T03:00:38.5303708Z       "stages": {
2026-06-09T03:00:38.5303793Z         "doc": {
2026-06-09T03:00:38.5303885Z           "complete": false,
2026-06-09T03:00:38.5303966Z           "evidence": []
2026-06-09T03:00:38.5304051Z         },
2026-06-09T03:00:38.5304132Z         "impl": {
2026-06-09T03:00:38.5304219Z           "complete": true,
2026-06-09T03:00:38.5304304Z           "evidence": [
2026-06-09T03:00:38.5304380Z             {
2026-06-09T03:00:38.5304496Z               "path": "crates/spt-live/src/resume.rs",
2026-06-09T03:00:38.5304576Z               "line": 19
2026-06-09T03:00:38.5304657Z             }
2026-06-09T03:00:38.5304738Z           ]
2026-06-09T03:00:38.5304820Z         },
2026-06-09T03:00:38.5304905Z         "int": {
2026-06-09T03:00:38.5304991Z           "complete": false,
2026-06-09T03:00:38.5305081Z           "evidence": []
2026-06-09T03:00:38.5305163Z         },
2026-06-09T03:00:38.5305248Z         "unit": {
2026-06-09T03:00:38.5305334Z           "complete": true,
2026-06-09T03:00:38.5305420Z           "evidence": [
2026-06-09T03:00:38.5305502Z             {
2026-06-09T03:00:38.5305605Z               "path": "crates/spt-live/src/resume.rs",
2026-06-09T03:00:38.5305690Z               "line": 179
2026-06-09T03:00:38.5305772Z             },
2026-06-09T03:00:38.5305852Z             {
2026-06-09T03:00:38.5305955Z               "path": "crates/spt-live/src/resume.rs",
2026-06-09T03:00:38.5306045Z               "line": 201
2026-06-09T03:00:38.5306127Z             },
2026-06-09T03:00:38.5306203Z             {
2026-06-09T03:00:38.5306308Z               "path": "crates/spt-live/src/resume.rs",
2026-06-09T03:00:38.5306394Z               "line": 222
2026-06-09T03:00:38.5306476Z             }
2026-06-09T03:00:38.5306552Z           ]
2026-06-09T03:00:38.5306631Z         }
2026-06-09T03:00:38.5306713Z       }
2026-06-09T03:00:38.5306800Z     },
2026-06-09T03:00:38.5306891Z     {
2026-06-09T03:00:38.5307067Z       "id": "REQ-SEAM-SPAWN",
2026-06-09T03:00:38.5307166Z       "title": "spawn-session seam",
2026-06-09T03:00:38.5307252Z       "requiredStages": [
2026-06-09T03:00:38.5307333Z         "impl",
2026-06-09T03:00:38.5307416Z         "unit"
2026-06-09T03:00:38.5307495Z       ],
2026-06-09T03:00:38.5307576Z       "stages": {
2026-06-09T03:00:38.5307657Z         "doc": {
2026-06-09T03:00:38.5307759Z           "complete": false,
2026-06-09T03:00:38.5307857Z           "evidence": []
2026-06-09T03:00:38.5307958Z         },
2026-06-09T03:00:38.5308040Z         "impl": {
2026-06-09T03:00:38.5308125Z           "complete": true,
2026-06-09T03:00:38.5308219Z           "evidence": [
2026-06-09T03:00:38.5308300Z             {
2026-06-09T03:00:38.5308414Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5308498Z               "line": 20
2026-06-09T03:00:38.5308579Z             }
2026-06-09T03:00:38.5308762Z           ]
2026-06-09T03:00:38.5308926Z         },
2026-06-09T03:00:38.5309014Z         "int": {
2026-06-09T03:00:38.5309100Z           "complete": false,
2026-06-09T03:00:38.5309189Z           "evidence": []
2026-06-09T03:00:38.5309266Z         },
2026-06-09T03:00:38.5309348Z         "unit": {
2026-06-09T03:00:38.5309438Z           "complete": true,
2026-06-09T03:00:38.5309523Z           "evidence": [
2026-06-09T03:00:38.5309605Z             {
2026-06-09T03:00:38.5309719Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5309809Z               "line": 435
2026-06-09T03:00:38.5309890Z             },
2026-06-09T03:00:38.5309973Z             {
2026-06-09T03:00:38.5310086Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5310172Z               "line": 442
2026-06-09T03:00:38.5310254Z             },
2026-06-09T03:00:38.5310339Z             {
2026-06-09T03:00:38.5310448Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5310539Z               "line": 452
2026-06-09T03:00:38.5310631Z             },
2026-06-09T03:00:38.5310710Z             {
2026-06-09T03:00:38.5310821Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5310902Z               "line": 458
2026-06-09T03:00:38.5310987Z             },
2026-06-09T03:00:38.5311067Z             {
2026-06-09T03:00:38.5311176Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5311273Z               "line": 483
2026-06-09T03:00:38.5311354Z             },
2026-06-09T03:00:38.5311434Z             {
2026-06-09T03:00:38.5311544Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-09T03:00:38.5311635Z               "line": 520
2026-06-09T03:00:38.5311715Z             }
2026-06-09T03:00:38.5311796Z           ]
2026-06-09T03:00:38.5311874Z         }
2026-06-09T03:00:38.5311959Z       }
2026-06-09T03:00:38.5312040Z     },
2026-06-09T03:00:38.5312120Z     {
2026-06-09T03:00:38.5312213Z       "id": "REQ-SEAM-UPDATE",
2026-06-09T03:00:38.5312378Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-09T03:00:38.5312474Z       "requiredStages": [
2026-06-09T03:00:38.5312560Z         "impl",
2026-06-09T03:00:38.5312641Z         "unit"
2026-06-09T03:00:38.5312722Z       ],
2026-06-09T03:00:38.5312803Z       "stages": {
2026-06-09T03:00:38.5312884Z         "doc": {
2026-06-09T03:00:38.5312974Z           "complete": false,
2026-06-09T03:00:38.5313056Z           "evidence": []
2026-06-09T03:00:38.5313143Z         },
2026-06-09T03:00:38.5313228Z         "impl": {
2026-06-09T03:00:38.5313317Z           "complete": true,
2026-06-09T03:00:38.5313404Z           "evidence": [
2026-06-09T03:00:38.5313482Z             {
2026-06-09T03:00:38.5313613Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5313693Z               "line": 28
2026-06-09T03:00:38.5313774Z             },
2026-06-09T03:00:38.5313860Z             {
2026-06-09T03:00:38.5313977Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5314077Z               "line": 83
2026-06-09T03:00:38.5314159Z             }
2026-06-09T03:00:38.5314240Z           ]
2026-06-09T03:00:38.5314315Z         },
2026-06-09T03:00:38.5314402Z         "int": {
2026-06-09T03:00:38.5314488Z           "complete": false,
2026-06-09T03:00:38.5314573Z           "evidence": []
2026-06-09T03:00:38.5314654Z         },
2026-06-09T03:00:38.5314731Z         "unit": {
2026-06-09T03:00:38.5314822Z           "complete": true,
2026-06-09T03:00:38.5314912Z           "evidence": [
2026-06-09T03:00:38.5314993Z             {
2026-06-09T03:00:38.5315113Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5315193Z               "line": 285
2026-06-09T03:00:38.5315279Z             },
2026-06-09T03:00:38.5315360Z             {
2026-06-09T03:00:38.5315479Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5315561Z               "line": 296
2026-06-09T03:00:38.5315646Z             }
2026-06-09T03:00:38.5315822Z           ]
2026-06-09T03:00:38.5315976Z         }
2026-06-09T03:00:38.5316057Z       }
2026-06-09T03:00:38.5316133Z     },
2026-06-09T03:00:38.5316212Z     {
2026-06-09T03:00:38.5316302Z       "id": "REQ-SEC-1",
2026-06-09T03:00:38.5316664Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-09T03:00:38.5316759Z       "requiredStages": [
2026-06-09T03:00:38.5316840Z         "impl",
2026-06-09T03:00:38.5316925Z         "unit"
2026-06-09T03:00:38.5317088Z       ],
2026-06-09T03:00:38.5317173Z       "stages": {
2026-06-09T03:00:38.5317254Z         "doc": {
2026-06-09T03:00:38.5317346Z           "complete": false,
2026-06-09T03:00:38.5317436Z           "evidence": []
2026-06-09T03:00:38.5317511Z         },
2026-06-09T03:00:38.5317593Z         "impl": {
2026-06-09T03:00:38.5317685Z           "complete": true,
2026-06-09T03:00:38.5317770Z           "evidence": [
2026-06-09T03:00:38.5317855Z             {
2026-06-09T03:00:38.5317985Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.5318069Z               "line": 84
2026-06-09T03:00:38.5318146Z             },
2026-06-09T03:00:38.5318227Z             {
2026-06-09T03:00:38.5318338Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.5318422Z               "line": 114
2026-06-09T03:00:38.5318504Z             },
2026-06-09T03:00:38.5318586Z             {
2026-06-09T03:00:38.5318695Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.5318775Z               "line": 128
2026-06-09T03:00:38.5318864Z             },
2026-06-09T03:00:38.5318946Z             {
2026-06-09T03:00:38.5319054Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5319139Z               "line": 108
2026-06-09T03:00:38.5319220Z             },
2026-06-09T03:00:38.5319302Z             {
2026-06-09T03:00:38.5319406Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5319501Z               "line": 129
2026-06-09T03:00:38.5319589Z             },
2026-06-09T03:00:38.5319670Z             {
2026-06-09T03:00:38.5319778Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5319860Z               "line": 142
2026-06-09T03:00:38.5319945Z             },
2026-06-09T03:00:38.5320031Z             {
2026-06-09T03:00:38.5320140Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5320223Z               "line": 208
2026-06-09T03:00:38.5320303Z             },
2026-06-09T03:00:38.5320383Z             {
2026-06-09T03:00:38.5320489Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5320575Z               "line": 234
2026-06-09T03:00:38.5320655Z             },
2026-06-09T03:00:38.5320732Z             {
2026-06-09T03:00:38.5320833Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5320918Z               "line": 3732
2026-06-09T03:00:38.5320999Z             }
2026-06-09T03:00:38.5321085Z           ]
2026-06-09T03:00:38.5321172Z         },
2026-06-09T03:00:38.5321252Z         "int": {
2026-06-09T03:00:38.5321342Z           "complete": false,
2026-06-09T03:00:38.5321424Z           "evidence": []
2026-06-09T03:00:38.5321506Z         },
2026-06-09T03:00:38.5321590Z         "unit": {
2026-06-09T03:00:38.5321675Z           "complete": true,
2026-06-09T03:00:38.5321766Z           "evidence": [
2026-06-09T03:00:38.5321843Z             {
2026-06-09T03:00:38.5321952Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.5322036Z               "line": 140
2026-06-09T03:00:38.5322119Z             },
2026-06-09T03:00:38.5322200Z             {
2026-06-09T03:00:38.5322309Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.5322390Z               "line": 192
2026-06-09T03:00:38.5322472Z             },
2026-06-09T03:00:38.5322553Z             {
2026-06-09T03:00:38.5322657Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-09T03:00:38.5322838Z               "line": 233
2026-06-09T03:00:38.5323025Z             },
2026-06-09T03:00:38.5323106Z             {
2026-06-09T03:00:38.5323220Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-09T03:00:38.5323301Z               "line": 138
2026-06-09T03:00:38.5323383Z             },
2026-06-09T03:00:38.5323464Z             {
2026-06-09T03:00:38.5323568Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5323659Z               "line": 246
2026-06-09T03:00:38.5323736Z             },
2026-06-09T03:00:38.5323825Z             {
2026-06-09T03:00:38.5325940Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5326054Z               "line": 276
2026-06-09T03:00:38.5326135Z             },
2026-06-09T03:00:38.5326216Z             {
2026-06-09T03:00:38.5326340Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5326425Z               "line": 309
2026-06-09T03:00:38.5326506Z             },
2026-06-09T03:00:38.5326584Z             {
2026-06-09T03:00:38.5326711Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5326806Z               "line": 328
2026-06-09T03:00:38.5326887Z             },
2026-06-09T03:00:38.5327042Z             {
2026-06-09T03:00:38.5327151Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5327238Z               "line": 361
2026-06-09T03:00:38.5327314Z             },
2026-06-09T03:00:38.5327414Z             {
2026-06-09T03:00:38.5327553Z               "path": "crates/spt-store/src/access.rs",
2026-06-09T03:00:38.5327639Z               "line": 385
2026-06-09T03:00:38.5327719Z             },
2026-06-09T03:00:38.5327790Z             {
2026-06-09T03:00:38.5327892Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5327972Z               "line": 5298
2026-06-09T03:00:38.5328058Z             }
2026-06-09T03:00:38.5328143Z           ]
2026-06-09T03:00:38.5328230Z         }
2026-06-09T03:00:38.5328310Z       }
2026-06-09T03:00:38.5328387Z     },
2026-06-09T03:00:38.5328473Z     {
2026-06-09T03:00:38.5328569Z       "id": "REQ-SHELL-1",
2026-06-09T03:00:38.5329396Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-09T03:00:38.5329487Z       "requiredStages": [
2026-06-09T03:00:38.5329572Z         "impl",
2026-06-09T03:00:38.5329656Z         "unit",
2026-06-09T03:00:38.5329737Z         "int"
2026-06-09T03:00:38.5329819Z       ],
2026-06-09T03:00:38.5329901Z       "stages": {
2026-06-09T03:00:38.5329985Z         "doc": {
2026-06-09T03:00:38.5330076Z           "complete": false,
2026-06-09T03:00:38.5330163Z           "evidence": []
2026-06-09T03:00:38.5330244Z         },
2026-06-09T03:00:38.5330323Z         "impl": {
2026-06-09T03:00:38.5330415Z           "complete": true,
2026-06-09T03:00:38.5330510Z           "evidence": [
2026-06-09T03:00:38.5330591Z             {
2026-06-09T03:00:38.5330715Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5330802Z               "line": 94
2026-06-09T03:00:38.5330882Z             },
2026-06-09T03:00:38.5330962Z             {
2026-06-09T03:00:38.5331078Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5331163Z               "line": 119
2026-06-09T03:00:38.5331249Z             },
2026-06-09T03:00:38.5331330Z             {
2026-06-09T03:00:38.5331446Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5331530Z               "line": 27
2026-06-09T03:00:38.5331611Z             },
2026-06-09T03:00:38.5331694Z             {
2026-06-09T03:00:38.5331812Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5331902Z               "line": 52
2026-06-09T03:00:38.5331984Z             },
2026-06-09T03:00:38.5332061Z             {
2026-06-09T03:00:38.5332301Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5332479Z               "line": 132
2026-06-09T03:00:38.5332564Z             },
2026-06-09T03:00:38.5332646Z             {
2026-06-09T03:00:38.5332755Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5332840Z               "line": 164
2026-06-09T03:00:38.5332921Z             },
2026-06-09T03:00:38.5333004Z             {
2026-06-09T03:00:38.5333113Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5333203Z               "line": 22
2026-06-09T03:00:38.5333294Z             },
2026-06-09T03:00:38.5333375Z             {
2026-06-09T03:00:38.5333484Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5333570Z               "line": 65
2026-06-09T03:00:38.5333652Z             },
2026-06-09T03:00:38.5333732Z             {
2026-06-09T03:00:38.5333842Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5333938Z               "line": 76
2026-06-09T03:00:38.5334024Z             },
2026-06-09T03:00:38.5334104Z             {
2026-06-09T03:00:38.5334214Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5334301Z               "line": 150
2026-06-09T03:00:38.5334381Z             },
2026-06-09T03:00:38.5334461Z             {
2026-06-09T03:00:38.5334577Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5334658Z               "line": 209
2026-06-09T03:00:38.5334742Z             },
2026-06-09T03:00:38.5334818Z             {
2026-06-09T03:00:38.5334933Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5335017Z               "line": 246
2026-06-09T03:00:38.5335102Z             },
2026-06-09T03:00:38.5335188Z             {
2026-06-09T03:00:38.5335303Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5335388Z               "line": 267
2026-06-09T03:00:38.5335469Z             },
2026-06-09T03:00:38.5335556Z             {
2026-06-09T03:00:38.5335680Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5335765Z               "line": 280
2026-06-09T03:00:38.5335846Z             },
2026-06-09T03:00:38.5335923Z             {
2026-06-09T03:00:38.5336037Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.5336122Z               "line": 207
2026-06-09T03:00:38.5336205Z             },
2026-06-09T03:00:38.5336280Z             {
2026-06-09T03:00:38.5336394Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.5336481Z               "line": 223
2026-06-09T03:00:38.5336557Z             },
2026-06-09T03:00:38.5336637Z             {
2026-06-09T03:00:38.5336752Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.5336839Z               "line": 41
2026-06-09T03:00:38.5336924Z             },
2026-06-09T03:00:38.5337086Z             {
2026-06-09T03:00:38.5337201Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.5337300Z               "line": 204
2026-06-09T03:00:38.5337385Z             },
2026-06-09T03:00:38.5337467Z             {
2026-06-09T03:00:38.5337580Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-09T03:00:38.5337669Z               "line": 156
2026-06-09T03:00:38.5337750Z             },
2026-06-09T03:00:38.5337832Z             {
2026-06-09T03:00:38.5337936Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.5338021Z               "line": 295
2026-06-09T03:00:38.5338103Z             },
2026-06-09T03:00:38.5338180Z             {
2026-06-09T03:00:38.5338284Z               "path": "crates/spt/src/api/mod.rs",
2026-06-09T03:00:38.5338370Z               "line": 345
2026-06-09T03:00:38.5338447Z             },
2026-06-09T03:00:38.5338528Z             {
2026-06-09T03:00:38.5338641Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5338723Z               "line": 261
2026-06-09T03:00:38.5338805Z             },
2026-06-09T03:00:38.5338985Z             {
2026-06-09T03:00:38.5339176Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5339267Z               "line": 4230
2026-06-09T03:00:38.5339343Z             },
2026-06-09T03:00:38.5339429Z             {
2026-06-09T03:00:38.5339524Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5339614Z               "line": 4380
2026-06-09T03:00:38.5339697Z             },
2026-06-09T03:00:38.5339778Z             {
2026-06-09T03:00:38.5339871Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5339957Z               "line": 4417
2026-06-09T03:00:38.5340038Z             }
2026-06-09T03:00:38.5340113Z           ]
2026-06-09T03:00:38.5340193Z         },
2026-06-09T03:00:38.5340274Z         "int": {
2026-06-09T03:00:38.5340364Z           "complete": true,
2026-06-09T03:00:38.5340452Z           "evidence": [
2026-06-09T03:00:38.5340526Z             {
2026-06-09T03:00:38.5340646Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5340737Z               "line": 705
2026-06-09T03:00:38.5340823Z             },
2026-06-09T03:00:38.5340903Z             {
2026-06-09T03:00:38.5341019Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-09T03:00:38.5341103Z               "line": 8
2026-06-09T03:00:38.5341184Z             },
2026-06-09T03:00:38.5341261Z             {
2026-06-09T03:00:38.5341376Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-09T03:00:38.5341462Z               "line": 49
2026-06-09T03:00:38.5341537Z             },
2026-06-09T03:00:38.5341615Z             {
2026-06-09T03:00:38.5341733Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5341814Z               "line": 707
2026-06-09T03:00:38.5341890Z             },
2026-06-09T03:00:38.5341968Z             {
2026-06-09T03:00:38.5342085Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5342171Z               "line": 1117
2026-06-09T03:00:38.5342249Z             },
2026-06-09T03:00:38.5342339Z             {
2026-06-09T03:00:38.5342462Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-09T03:00:38.5342544Z               "line": 17
2026-06-09T03:00:38.5342626Z             },
2026-06-09T03:00:38.5342706Z             {
2026-06-09T03:00:38.5342809Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-09T03:00:38.5342896Z               "line": 14
2026-06-09T03:00:38.5342977Z             }
2026-06-09T03:00:38.5343053Z           ]
2026-06-09T03:00:38.5343134Z         },
2026-06-09T03:00:38.5343215Z         "unit": {
2026-06-09T03:00:38.5343301Z           "complete": true,
2026-06-09T03:00:38.5343387Z           "evidence": [
2026-06-09T03:00:38.5343462Z             {
2026-06-09T03:00:38.5343574Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5343654Z               "line": 234
2026-06-09T03:00:38.5343734Z             },
2026-06-09T03:00:38.5343815Z             {
2026-06-09T03:00:38.5343922Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5344021Z               "line": 267
2026-06-09T03:00:38.5344101Z             },
2026-06-09T03:00:38.5344179Z             {
2026-06-09T03:00:38.5344287Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5344373Z               "line": 307
2026-06-09T03:00:38.5344450Z             },
2026-06-09T03:00:38.5344527Z             {
2026-06-09T03:00:38.5344640Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5344726Z               "line": 519
2026-06-09T03:00:38.5344804Z             },
2026-06-09T03:00:38.5344890Z             {
2026-06-09T03:00:38.5344997Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5345084Z               "line": 592
2026-06-09T03:00:38.5345162Z             },
2026-06-09T03:00:38.5345242Z             {
2026-06-09T03:00:38.5345350Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5345441Z               "line": 736
2026-06-09T03:00:38.5345517Z             },
2026-06-09T03:00:38.5345733Z             {
2026-06-09T03:00:38.5345839Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.5345925Z               "line": 585
2026-06-09T03:00:38.5346001Z             },
2026-06-09T03:00:38.5346082Z             {
2026-06-09T03:00:38.5346192Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-09T03:00:38.5346277Z               "line": 352
2026-06-09T03:00:38.5346358Z             },
2026-06-09T03:00:38.5346436Z             {
2026-06-09T03:00:38.5346535Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5346616Z               "line": 5646
2026-06-09T03:00:38.5346697Z             },
2026-06-09T03:00:38.5346775Z             {
2026-06-09T03:00:38.5346869Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5347065Z               "line": 5968
2026-06-09T03:00:38.5347145Z             },
2026-06-09T03:00:38.5347222Z             {
2026-06-09T03:00:38.5347317Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5347409Z               "line": 6334
2026-06-09T03:00:38.5347493Z             }
2026-06-09T03:00:38.5347575Z           ]
2026-06-09T03:00:38.5347656Z         }
2026-06-09T03:00:38.5347733Z       }
2026-06-09T03:00:38.5347808Z     },
2026-06-09T03:00:38.5347884Z     {
2026-06-09T03:00:38.5347969Z       "id": "REQ-SHELL-2",
2026-06-09T03:00:38.5349365Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-09T03:00:38.5349464Z       "requiredStages": [
2026-06-09T03:00:38.5349545Z         "impl",
2026-06-09T03:00:38.5349627Z         "unit",
2026-06-09T03:00:38.5349712Z         "int"
2026-06-09T03:00:38.5349798Z       ],
2026-06-09T03:00:38.5349884Z       "stages": {
2026-06-09T03:00:38.5349961Z         "doc": {
2026-06-09T03:00:38.5350055Z           "complete": false,
2026-06-09T03:00:38.5350136Z           "evidence": []
2026-06-09T03:00:38.5350218Z         },
2026-06-09T03:00:38.5350295Z         "impl": {
2026-06-09T03:00:38.5350384Z           "complete": true,
2026-06-09T03:00:38.5350469Z           "evidence": [
2026-06-09T03:00:38.5350550Z             {
2026-06-09T03:00:38.5350664Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.5350744Z               "line": 246
2026-06-09T03:00:38.5350829Z             },
2026-06-09T03:00:38.5350911Z             {
2026-06-09T03:00:38.5351021Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5351105Z               "line": 403
2026-06-09T03:00:38.5351186Z             },
2026-06-09T03:00:38.5351264Z             {
2026-06-09T03:00:38.5351373Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-09T03:00:38.5351468Z               "line": 250
2026-06-09T03:00:38.5351545Z             },
2026-06-09T03:00:38.5351626Z             {
2026-06-09T03:00:38.5351740Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.5351821Z               "line": 310
2026-06-09T03:00:38.5351898Z             },
2026-06-09T03:00:38.5351978Z             {
2026-06-09T03:00:38.5352087Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5352170Z               "line": 30
2026-06-09T03:00:38.5352251Z             },
2026-06-09T03:00:38.5352330Z             {
2026-06-09T03:00:38.5352441Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5352523Z               "line": 150
2026-06-09T03:00:38.5352604Z             },
2026-06-09T03:00:38.5352684Z             {
2026-06-09T03:00:38.5352789Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5352871Z               "line": 186
2026-06-09T03:00:38.5353051Z             },
2026-06-09T03:00:38.5353238Z             {
2026-06-09T03:00:38.5353350Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5353431Z               "line": 345
2026-06-09T03:00:38.5353514Z             },
2026-06-09T03:00:38.5353595Z             {
2026-06-09T03:00:38.5353712Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.5353799Z               "line": 348
2026-06-09T03:00:38.5353875Z             },
2026-06-09T03:00:38.5353961Z             {
2026-06-09T03:00:38.5354070Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-09T03:00:38.5354162Z               "line": 115
2026-06-09T03:00:38.5354239Z             },
2026-06-09T03:00:38.5354318Z             {
2026-06-09T03:00:38.5354439Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5354524Z               "line": 120
2026-06-09T03:00:38.5354605Z             },
2026-06-09T03:00:38.5354681Z             {
2026-06-09T03:00:38.5354796Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5354890Z               "line": 360
2026-06-09T03:00:38.5354972Z             },
2026-06-09T03:00:38.5355054Z             {
2026-06-09T03:00:38.5355163Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5355248Z               "line": 464
2026-06-09T03:00:38.5355330Z             },
2026-06-09T03:00:38.5355407Z             {
2026-06-09T03:00:38.5355524Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5355611Z               "line": 24
2026-06-09T03:00:38.5355693Z             },
2026-06-09T03:00:38.5355769Z             {
2026-06-09T03:00:38.5355882Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5355967Z               "line": 76
2026-06-09T03:00:38.5356048Z             },
2026-06-09T03:00:38.5356128Z             {
2026-06-09T03:00:38.5356237Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5356323Z               "line": 154
2026-06-09T03:00:38.5356414Z             },
2026-06-09T03:00:38.5356499Z             {
2026-06-09T03:00:38.5356608Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5356696Z               "line": 177
2026-06-09T03:00:38.5356776Z             },
2026-06-09T03:00:38.5356856Z             {
2026-06-09T03:00:38.5357057Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5357134Z               "line": 273
2026-06-09T03:00:38.5357214Z             },
2026-06-09T03:00:38.5357296Z             {
2026-06-09T03:00:38.5357419Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5357505Z               "line": 450
2026-06-09T03:00:38.5357582Z             },
2026-06-09T03:00:38.5357664Z             {
2026-06-09T03:00:38.5357777Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5357863Z               "line": 532
2026-06-09T03:00:38.5357950Z             },
2026-06-09T03:00:38.5358034Z             {
2026-06-09T03:00:38.5358163Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-09T03:00:38.5358250Z               "line": 27
2026-06-09T03:00:38.5358336Z             },
2026-06-09T03:00:38.5358415Z             {
2026-06-09T03:00:38.5358534Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-09T03:00:38.5358620Z               "line": 43
2026-06-09T03:00:38.5358700Z             },
2026-06-09T03:00:38.5358780Z             {
2026-06-09T03:00:38.5358889Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5358976Z               "line": 323
2026-06-09T03:00:38.5359051Z             },
2026-06-09T03:00:38.5359128Z             {
2026-06-09T03:00:38.5359233Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5359314Z               "line": 1224
2026-06-09T03:00:38.5359394Z             },
2026-06-09T03:00:38.5359470Z             {
2026-06-09T03:00:38.5359577Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5359672Z               "line": 4244
2026-06-09T03:00:38.5359977Z             },
2026-06-09T03:00:38.5360144Z             {
2026-06-09T03:00:38.5360244Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5360329Z               "line": 4305
2026-06-09T03:00:38.5360411Z             },
2026-06-09T03:00:38.5360492Z             {
2026-06-09T03:00:38.5360587Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5360677Z               "line": 4333
2026-06-09T03:00:38.5360763Z             },
2026-06-09T03:00:38.5360841Z             {
2026-06-09T03:00:38.5360940Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5361020Z               "line": 4387
2026-06-09T03:00:38.5361105Z             },
2026-06-09T03:00:38.5361182Z             {
2026-06-09T03:00:38.5361280Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5361370Z               "line": 4503
2026-06-09T03:00:38.5361446Z             },
2026-06-09T03:00:38.5361529Z             {
2026-06-09T03:00:38.5361623Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5361723Z               "line": 4556
2026-06-09T03:00:38.5361805Z             },
2026-06-09T03:00:38.5361886Z             {
2026-06-09T03:00:38.5361995Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5362076Z               "line": 298
2026-06-09T03:00:38.5362157Z             },
2026-06-09T03:00:38.5362238Z             {
2026-06-09T03:00:38.5362342Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5362425Z               "line": 339
2026-06-09T03:00:38.5362506Z             }
2026-06-09T03:00:38.5362587Z           ]
2026-06-09T03:00:38.5362667Z         },
2026-06-09T03:00:38.5362750Z         "int": {
2026-06-09T03:00:38.5362839Z           "complete": true,
2026-06-09T03:00:38.5362934Z           "evidence": [
2026-06-09T03:00:38.5363011Z             {
2026-06-09T03:00:38.5363130Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5363215Z               "line": 698
2026-06-09T03:00:38.5363296Z             },
2026-06-09T03:00:38.5363389Z             {
2026-06-09T03:00:38.5363501Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5363582Z               "line": 707
2026-06-09T03:00:38.5363664Z             },
2026-06-09T03:00:38.5363746Z             {
2026-06-09T03:00:38.5363854Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5363939Z               "line": 1117
2026-06-09T03:00:38.5364021Z             },
2026-06-09T03:00:38.5364097Z             {
2026-06-09T03:00:38.5364225Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-09T03:00:38.5364311Z               "line": 18
2026-06-09T03:00:38.5364393Z             }
2026-06-09T03:00:38.5364474Z           ]
2026-06-09T03:00:38.5364554Z         },
2026-06-09T03:00:38.5364640Z         "unit": {
2026-06-09T03:00:38.5364727Z           "complete": true,
2026-06-09T03:00:38.5364817Z           "evidence": [
2026-06-09T03:00:38.5364892Z             {
2026-06-09T03:00:38.5365003Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-09T03:00:38.5365107Z               "line": 429
2026-06-09T03:00:38.5365188Z             },
2026-06-09T03:00:38.5365270Z             {
2026-06-09T03:00:38.5365380Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-09T03:00:38.5365465Z               "line": 794
2026-06-09T03:00:38.5365551Z             },
2026-06-09T03:00:38.5365638Z             {
2026-06-09T03:00:38.5365751Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5365832Z               "line": 625
2026-06-09T03:00:38.5365914Z             },
2026-06-09T03:00:38.5365996Z             {
2026-06-09T03:00:38.5366108Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5366195Z               "line": 674
2026-06-09T03:00:38.5366277Z             },
2026-06-09T03:00:38.5366353Z             {
2026-06-09T03:00:38.5366466Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-09T03:00:38.5366551Z               "line": 698
2026-06-09T03:00:38.5366707Z             },
2026-06-09T03:00:38.5366858Z             {
2026-06-09T03:00:38.5367059Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5367144Z               "line": 596
2026-06-09T03:00:38.5367231Z             },
2026-06-09T03:00:38.5367307Z             {
2026-06-09T03:00:38.5367421Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5367507Z               "line": 617
2026-06-09T03:00:38.5367590Z             },
2026-06-09T03:00:38.5367669Z             {
2026-06-09T03:00:38.5367779Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5367866Z               "line": 653
2026-06-09T03:00:38.5367946Z             },
2026-06-09T03:00:38.5368032Z             {
2026-06-09T03:00:38.5368142Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5368229Z               "line": 707
2026-06-09T03:00:38.5368308Z             },
2026-06-09T03:00:38.5368384Z             {
2026-06-09T03:00:38.5368510Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5368604Z               "line": 725
2026-06-09T03:00:38.5368690Z             },
2026-06-09T03:00:38.5368766Z             {
2026-06-09T03:00:38.5368882Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5368970Z               "line": 759
2026-06-09T03:00:38.5369051Z             },
2026-06-09T03:00:38.5369132Z             {
2026-06-09T03:00:38.5369241Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-09T03:00:38.5369326Z               "line": 834
2026-06-09T03:00:38.5369406Z             },
2026-06-09T03:00:38.5369488Z             {
2026-06-09T03:00:38.5369607Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-09T03:00:38.5369693Z               "line": 80
2026-06-09T03:00:38.5369774Z             },
2026-06-09T03:00:38.5369855Z             {
2026-06-09T03:00:38.5369954Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5370040Z               "line": 5117
2026-06-09T03:00:38.5370133Z             },
2026-06-09T03:00:38.5370212Z             {
2026-06-09T03:00:38.5370307Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5370394Z               "line": 5723
2026-06-09T03:00:38.5370471Z             },
2026-06-09T03:00:38.5370556Z             {
2026-06-09T03:00:38.5370651Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5370738Z               "line": 5793
2026-06-09T03:00:38.5370818Z             },
2026-06-09T03:00:38.5370899Z             {
2026-06-09T03:00:38.5370994Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5371077Z               "line": 5831
2026-06-09T03:00:38.5371157Z             }
2026-06-09T03:00:38.5371237Z           ]
2026-06-09T03:00:38.5371318Z         }
2026-06-09T03:00:38.5371401Z       }
2026-06-09T03:00:38.5371481Z     },
2026-06-09T03:00:38.5371561Z     {
2026-06-09T03:00:38.5371646Z       "id": "REQ-START-1",
2026-06-09T03:00:38.5371831Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-09T03:00:38.5371939Z       "requiredStages": [
2026-06-09T03:00:38.5372026Z         "impl",
2026-06-09T03:00:38.5372108Z         "unit"
2026-06-09T03:00:38.5372188Z       ],
2026-06-09T03:00:38.5372268Z       "stages": {
2026-06-09T03:00:38.5372350Z         "doc": {
2026-06-09T03:00:38.5372441Z           "complete": false,
2026-06-09T03:00:38.5372526Z           "evidence": []
2026-06-09T03:00:38.5372612Z         },
2026-06-09T03:00:38.5372694Z         "impl": {
2026-06-09T03:00:38.5372789Z           "complete": true,
2026-06-09T03:00:38.5372884Z           "evidence": [
2026-06-09T03:00:38.5372960Z             {
2026-06-09T03:00:38.5373080Z               "path": "crates/spt-store/src/seed.rs",
2026-06-09T03:00:38.5373165Z               "line": 16
2026-06-09T03:00:38.5373246Z             }
2026-06-09T03:00:38.5373333Z           ]
2026-06-09T03:00:38.5373413Z         },
2026-06-09T03:00:38.5373494Z         "int": {
2026-06-09T03:00:38.5373581Z           "complete": false,
2026-06-09T03:00:38.5373861Z           "evidence": []
2026-06-09T03:00:38.5373944Z         },
2026-06-09T03:00:38.5374024Z         "unit": {
2026-06-09T03:00:38.5374114Z           "complete": true,
2026-06-09T03:00:38.5374195Z           "evidence": [
2026-06-09T03:00:38.5374278Z             {
2026-06-09T03:00:38.5374381Z               "path": "crates/spt-store/src/seed.rs",
2026-06-09T03:00:38.5374470Z               "line": 43
2026-06-09T03:00:38.5374547Z             },
2026-06-09T03:00:38.5374629Z             {
2026-06-09T03:00:38.5374738Z               "path": "crates/spt-store/src/seed.rs",
2026-06-09T03:00:38.5374818Z               "line": 59
2026-06-09T03:00:38.5374900Z             }
2026-06-09T03:00:38.5374977Z           ]
2026-06-09T03:00:38.5375062Z         }
2026-06-09T03:00:38.5375142Z       }
2026-06-09T03:00:38.5375225Z     },
2026-06-09T03:00:38.5375306Z     {
2026-06-09T03:00:38.5375391Z       "id": "REQ-START-2",
2026-06-09T03:00:38.5375530Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-09T03:00:38.5375635Z       "requiredStages": [
2026-06-09T03:00:38.5375720Z         "impl",
2026-06-09T03:00:38.5375796Z         "unit",
2026-06-09T03:00:38.5375883Z         "int"
2026-06-09T03:00:38.5375964Z       ],
2026-06-09T03:00:38.5376045Z       "stages": {
2026-06-09T03:00:38.5376130Z         "doc": {
2026-06-09T03:00:38.5376217Z           "complete": false,
2026-06-09T03:00:38.5376302Z           "evidence": []
2026-06-09T03:00:38.5376383Z         },
2026-06-09T03:00:38.5376469Z         "impl": {
2026-06-09T03:00:38.5376556Z           "complete": true,
2026-06-09T03:00:38.5376640Z           "evidence": [
2026-06-09T03:00:38.5376721Z             {
2026-06-09T03:00:38.5376832Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5376918Z               "line": 16
2026-06-09T03:00:38.5377083Z             },
2026-06-09T03:00:38.5377168Z             {
2026-06-09T03:00:38.5377277Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5377366Z               "line": 100
2026-06-09T03:00:38.5377458Z             },
2026-06-09T03:00:38.5377534Z             {
2026-06-09T03:00:38.5377643Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5377729Z               "line": 208
2026-06-09T03:00:38.5377811Z             }
2026-06-09T03:00:38.5377891Z           ]
2026-06-09T03:00:38.5377972Z         },
2026-06-09T03:00:38.5378053Z         "int": {
2026-06-09T03:00:38.5378140Z           "complete": true,
2026-06-09T03:00:38.5378229Z           "evidence": [
2026-06-09T03:00:38.5378310Z             {
2026-06-09T03:00:38.5378426Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.5378516Z               "line": 182
2026-06-09T03:00:38.5378592Z             }
2026-06-09T03:00:38.5378678Z           ]
2026-06-09T03:00:38.5378755Z         },
2026-06-09T03:00:38.5378840Z         "unit": {
2026-06-09T03:00:38.5378931Z           "complete": true,
2026-06-09T03:00:38.5379021Z           "evidence": [
2026-06-09T03:00:38.5379108Z             {
2026-06-09T03:00:38.5379221Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5379307Z               "line": 421
2026-06-09T03:00:38.5379385Z             },
2026-06-09T03:00:38.5379475Z             {
2026-06-09T03:00:38.5379578Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5379663Z               "line": 454
2026-06-09T03:00:38.5379745Z             }
2026-06-09T03:00:38.5379825Z           ]
2026-06-09T03:00:38.5379904Z         }
2026-06-09T03:00:38.5379980Z       }
2026-06-09T03:00:38.5380063Z     },
2026-06-09T03:00:38.5380139Z     {
2026-06-09T03:00:38.5380229Z       "id": "REQ-START-3",
2026-06-09T03:00:38.5380392Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-09T03:00:38.5380478Z       "requiredStages": [
2026-06-09T03:00:38.5380562Z         "impl",
2026-06-09T03:00:38.5380639Z         "unit",
2026-06-09T03:00:38.5380721Z         "int"
2026-06-09T03:00:38.5380802Z       ],
2026-06-09T03:00:38.5380993Z       "stages": {
2026-06-09T03:00:38.5381158Z         "doc": {
2026-06-09T03:00:38.5381249Z           "complete": false,
2026-06-09T03:00:38.5381337Z           "evidence": []
2026-06-09T03:00:38.5381416Z         },
2026-06-09T03:00:38.5381497Z         "impl": {
2026-06-09T03:00:38.5381588Z           "complete": true,
2026-06-09T03:00:38.5381675Z           "evidence": [
2026-06-09T03:00:38.5381754Z             {
2026-06-09T03:00:38.5381869Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.5381956Z               "line": 23
2026-06-09T03:00:38.5382036Z             },
2026-06-09T03:00:38.5382121Z             {
2026-06-09T03:00:38.5382230Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.5382316Z               "line": 205
2026-06-09T03:00:38.5382395Z             },
2026-06-09T03:00:38.5382476Z             {
2026-06-09T03:00:38.5382586Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.5382668Z               "line": 221
2026-06-09T03:00:38.5382762Z             },
2026-06-09T03:00:38.5382843Z             {
2026-06-09T03:00:38.5382944Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5383035Z               "line": 17
2026-06-09T03:00:38.5383115Z             },
2026-06-09T03:00:38.5383196Z             {
2026-06-09T03:00:38.5383301Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5383387Z               "line": 43
2026-06-09T03:00:38.5383467Z             },
2026-06-09T03:00:38.5383550Z             {
2026-06-09T03:00:38.5383654Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5383735Z               "line": 101
2026-06-09T03:00:38.5383816Z             }
2026-06-09T03:00:38.5383898Z           ]
2026-06-09T03:00:38.5383978Z         },
2026-06-09T03:00:38.5384059Z         "int": {
2026-06-09T03:00:38.5384146Z           "complete": true,
2026-06-09T03:00:38.5384232Z           "evidence": [
2026-06-09T03:00:38.5384312Z             {
2026-06-09T03:00:38.5384422Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-09T03:00:38.5384514Z               "line": 436
2026-06-09T03:00:38.5384594Z             }
2026-06-09T03:00:38.5384669Z           ]
2026-06-09T03:00:38.5384746Z         },
2026-06-09T03:00:38.5384828Z         "unit": {
2026-06-09T03:00:38.5384913Z           "complete": true,
2026-06-09T03:00:38.5385003Z           "evidence": [
2026-06-09T03:00:38.5385078Z             {
2026-06-09T03:00:38.5385189Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.5385275Z               "line": 331
2026-06-09T03:00:38.5385350Z             },
2026-06-09T03:00:38.5385431Z             {
2026-06-09T03:00:38.5385537Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.5385622Z               "line": 352
2026-06-09T03:00:38.5385698Z             },
2026-06-09T03:00:38.5385780Z             {
2026-06-09T03:00:38.5385890Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-09T03:00:38.5385985Z               "line": 362
2026-06-09T03:00:38.5386070Z             },
2026-06-09T03:00:38.5386147Z             {
2026-06-09T03:00:38.5386252Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5386332Z               "line": 422
2026-06-09T03:00:38.5386414Z             },
2026-06-09T03:00:38.5386491Z             {
2026-06-09T03:00:38.5386595Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5386681Z               "line": 455
2026-06-09T03:00:38.5386758Z             },
2026-06-09T03:00:38.5386834Z             {
2026-06-09T03:00:38.5386938Z               "path": "crates/spt/src/api/startup.rs",
2026-06-09T03:00:38.5387111Z               "line": 463
2026-06-09T03:00:38.5387191Z             }
2026-06-09T03:00:38.5387267Z           ]
2026-06-09T03:00:38.5387344Z         }
2026-06-09T03:00:38.5387426Z       }
2026-06-09T03:00:38.5387505Z     },
2026-06-09T03:00:38.5387581Z     {
2026-06-09T03:00:38.5389649Z       "id": "REQ-START-4",
2026-06-09T03:00:38.5389954Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-09T03:00:38.5390143Z       "requiredStages": [
2026-06-09T03:00:38.5390228Z         "impl",
2026-06-09T03:00:38.5390310Z         "unit"
2026-06-09T03:00:38.5390389Z       ],
2026-06-09T03:00:38.5390469Z       "stages": {
2026-06-09T03:00:38.5390555Z         "doc": {
2026-06-09T03:00:38.5390647Z           "complete": false,
2026-06-09T03:00:38.5390732Z           "evidence": []
2026-06-09T03:00:38.5390813Z         },
2026-06-09T03:00:38.5390894Z         "impl": {
2026-06-09T03:00:38.5390980Z           "complete": true,
2026-06-09T03:00:38.5391066Z           "evidence": [
2026-06-09T03:00:38.5391146Z             {
2026-06-09T03:00:38.5391272Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5391357Z               "line": 391
2026-06-09T03:00:38.5391437Z             }
2026-06-09T03:00:38.5391514Z           ]
2026-06-09T03:00:38.5391596Z         },
2026-06-09T03:00:38.5391676Z         "int": {
2026-06-09T03:00:38.5391771Z           "complete": false,
2026-06-09T03:00:38.5391872Z           "evidence": []
2026-06-09T03:00:38.5391948Z         },
2026-06-09T03:00:38.5392034Z         "unit": {
2026-06-09T03:00:38.5392115Z           "complete": true,
2026-06-09T03:00:38.5392202Z           "evidence": [
2026-06-09T03:00:38.5392282Z             {
2026-06-09T03:00:38.5392396Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-09T03:00:38.5392478Z               "line": 660
2026-06-09T03:00:38.5392559Z             }
2026-06-09T03:00:38.5392638Z           ]
2026-06-09T03:00:38.5392715Z         }
2026-06-09T03:00:38.5392795Z       }
2026-06-09T03:00:38.5392872Z     },
2026-06-09T03:00:38.5392951Z     {
2026-06-09T03:00:38.5393041Z       "id": "REQ-STORE-1",
2026-06-09T03:00:38.5393833Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-09T03:00:38.5393938Z       "requiredStages": [
2026-06-09T03:00:38.5394023Z         "impl",
2026-06-09T03:00:38.5394105Z         "unit"
2026-06-09T03:00:38.5394186Z       ],
2026-06-09T03:00:38.5394262Z       "stages": {
2026-06-09T03:00:38.5394347Z         "doc": {
2026-06-09T03:00:38.5394434Z           "complete": false,
2026-06-09T03:00:38.5394519Z           "evidence": []
2026-06-09T03:00:38.5394600Z         },
2026-06-09T03:00:38.5394681Z         "impl": {
2026-06-09T03:00:38.5394769Z           "complete": true,
2026-06-09T03:00:38.5394853Z           "evidence": [
2026-06-09T03:00:38.5394934Z             {
2026-06-09T03:00:38.5395054Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5395139Z               "line": 23
2026-06-09T03:00:38.5395219Z             },
2026-06-09T03:00:38.5395302Z             {
2026-06-09T03:00:38.5395417Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5395515Z               "line": 46
2026-06-09T03:00:38.5395596Z             },
2026-06-09T03:00:38.5395672Z             {
2026-06-09T03:00:38.5395783Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5395868Z               "line": 97
2026-06-09T03:00:38.5395948Z             },
2026-06-09T03:00:38.5396025Z             {
2026-06-09T03:00:38.5396135Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5396220Z               "line": 125
2026-06-09T03:00:38.5396301Z             },
2026-06-09T03:00:38.5396383Z             {
2026-06-09T03:00:38.5396497Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5396578Z               "line": 181
2026-06-09T03:00:38.5396660Z             },
2026-06-09T03:00:38.5396741Z             {
2026-06-09T03:00:38.5396854Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5396941Z               "line": 205
2026-06-09T03:00:38.5397221Z             },
2026-06-09T03:00:38.5397389Z             {
2026-06-09T03:00:38.5397513Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5397604Z               "line": 441
2026-06-09T03:00:38.5397680Z             },
2026-06-09T03:00:38.5397765Z             {
2026-06-09T03:00:38.5397885Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5397972Z               "line": 25
2026-06-09T03:00:38.5398052Z             },
2026-06-09T03:00:38.5398132Z             {
2026-06-09T03:00:38.5398255Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5398346Z               "line": 104
2026-06-09T03:00:38.5398425Z             },
2026-06-09T03:00:38.5398505Z             {
2026-06-09T03:00:38.5398621Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5398712Z               "line": 132
2026-06-09T03:00:38.5398792Z             },
2026-06-09T03:00:38.5398873Z             {
2026-06-09T03:00:38.5398983Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5399088Z               "line": 148
2026-06-09T03:00:38.5399169Z             },
2026-06-09T03:00:38.5399260Z             {
2026-06-09T03:00:38.5399393Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5399474Z               "line": 166
2026-06-09T03:00:38.5399551Z             },
2026-06-09T03:00:38.5399632Z             {
2026-06-09T03:00:38.5399746Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5399827Z               "line": 175
2026-06-09T03:00:38.5399909Z             },
2026-06-09T03:00:38.5399989Z             {
2026-06-09T03:00:38.5400103Z               "path": "crates/spt-store/src/project.rs",
2026-06-09T03:00:38.5400190Z               "line": 16
2026-06-09T03:00:38.5400266Z             },
2026-06-09T03:00:38.5400346Z             {
2026-06-09T03:00:38.5400452Z               "path": "crates/spt-store/src/project.rs",
2026-06-09T03:00:38.5400538Z               "line": 63
2026-06-09T03:00:38.5400623Z             }
2026-06-09T03:00:38.5400693Z           ]
2026-06-09T03:00:38.5400769Z         },
2026-06-09T03:00:38.5400851Z         "int": {
2026-06-09T03:00:38.5400941Z           "complete": false,
2026-06-09T03:00:38.5401039Z           "evidence": []
2026-06-09T03:00:38.5401125Z         },
2026-06-09T03:00:38.5401212Z         "unit": {
2026-06-09T03:00:38.5401302Z           "complete": true,
2026-06-09T03:00:38.5401377Z           "evidence": [
2026-06-09T03:00:38.5401450Z             {
2026-06-09T03:00:38.5401569Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5401663Z               "line": 558
2026-06-09T03:00:38.5401759Z             },
2026-06-09T03:00:38.5401837Z             {
2026-06-09T03:00:38.5401950Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5402036Z               "line": 568
2026-06-09T03:00:38.5402118Z             },
2026-06-09T03:00:38.5402198Z             {
2026-06-09T03:00:38.5402316Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5402409Z               "line": 590
2026-06-09T03:00:38.5402490Z             },
2026-06-09T03:00:38.5402564Z             {
2026-06-09T03:00:38.5402680Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5402766Z               "line": 606
2026-06-09T03:00:38.5402847Z             },
2026-06-09T03:00:38.5402928Z             {
2026-06-09T03:00:38.5403043Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-09T03:00:38.5403129Z               "line": 629
2026-06-09T03:00:38.5403208Z             },
2026-06-09T03:00:38.5403289Z             {
2026-06-09T03:00:38.5403408Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5403493Z               "line": 440
2026-06-09T03:00:38.5403573Z             },
2026-06-09T03:00:38.5403653Z             {
2026-06-09T03:00:38.5403769Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-09T03:00:38.5403854Z               "line": 475
2026-06-09T03:00:38.5404074Z             },
2026-06-09T03:00:38.5404155Z             {
2026-06-09T03:00:38.5404269Z               "path": "crates/spt-store/src/project.rs",
2026-06-09T03:00:38.5404355Z               "line": 120
2026-06-09T03:00:38.5404436Z             },
2026-06-09T03:00:38.5404516Z             {
2026-06-09T03:00:38.5404626Z               "path": "crates/spt-store/src/project.rs",
2026-06-09T03:00:38.5404713Z               "line": 128
2026-06-09T03:00:38.5404793Z             }
2026-06-09T03:00:38.5404874Z           ]
2026-06-09T03:00:38.5404956Z         }
2026-06-09T03:00:38.5405038Z       }
2026-06-09T03:00:38.5405122Z     },
2026-06-09T03:00:38.5405203Z     {
2026-06-09T03:00:38.5405299Z       "id": "REQ-SUBNET-1",
2026-06-09T03:00:38.5405610Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-09T03:00:38.5405704Z       "requiredStages": [
2026-06-09T03:00:38.5405789Z         "impl",
2026-06-09T03:00:38.5405885Z         "unit"
2026-06-09T03:00:38.5405968Z       ],
2026-06-09T03:00:38.5406048Z       "stages": {
2026-06-09T03:00:38.5406132Z         "doc": {
2026-06-09T03:00:38.5406222Z           "complete": false,
2026-06-09T03:00:38.5406304Z           "evidence": []
2026-06-09T03:00:38.5406385Z         },
2026-06-09T03:00:38.5406466Z         "impl": {
2026-06-09T03:00:38.5406557Z           "complete": true,
2026-06-09T03:00:38.5406638Z           "evidence": [
2026-06-09T03:00:38.5406724Z             {
2026-06-09T03:00:38.5406852Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5407039Z               "line": 265
2026-06-09T03:00:38.5407124Z             },
2026-06-09T03:00:38.5407201Z             {
2026-06-09T03:00:38.5407329Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5407414Z               "line": 571
2026-06-09T03:00:38.5407496Z             },
2026-06-09T03:00:38.5407578Z             {
2026-06-09T03:00:38.5407691Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5407786Z               "line": 2140
2026-06-09T03:00:38.5407869Z             },
2026-06-09T03:00:38.5407949Z             {
2026-06-09T03:00:38.5408049Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5408135Z               "line": 2305
2026-06-09T03:00:38.5408213Z             },
2026-06-09T03:00:38.5408292Z             {
2026-06-09T03:00:38.5408392Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5408474Z               "line": 2324
2026-06-09T03:00:38.5408555Z             },
2026-06-09T03:00:38.5408635Z             {
2026-06-09T03:00:38.5408734Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5408820Z               "line": 2385
2026-06-09T03:00:38.5408896Z             },
2026-06-09T03:00:38.5408980Z             {
2026-06-09T03:00:38.5409075Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5409162Z               "line": 2427
2026-06-09T03:00:38.5409238Z             },
2026-06-09T03:00:38.5409333Z             {
2026-06-09T03:00:38.5409433Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5409515Z               "line": 2600
2026-06-09T03:00:38.5409596Z             },
2026-06-09T03:00:38.5409681Z             {
2026-06-09T03:00:38.5409782Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5409868Z               "line": 2670
2026-06-09T03:00:38.5409948Z             },
2026-06-09T03:00:38.5410029Z             {
2026-06-09T03:00:38.5410125Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5410211Z               "line": 2894
2026-06-09T03:00:38.5410292Z             },
2026-06-09T03:00:38.5410373Z             {
2026-06-09T03:00:38.5410478Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5410563Z               "line": 418
2026-06-09T03:00:38.5410644Z             }
2026-06-09T03:00:38.5410721Z           ]
2026-06-09T03:00:38.5410807Z         },
2026-06-09T03:00:38.5410887Z         "int": {
2026-06-09T03:00:38.5411094Z           "complete": false,
2026-06-09T03:00:38.5411273Z           "evidence": []
2026-06-09T03:00:38.5411358Z         },
2026-06-09T03:00:38.5411439Z         "unit": {
2026-06-09T03:00:38.5411528Z           "complete": true,
2026-06-09T03:00:38.5411613Z           "evidence": [
2026-06-09T03:00:38.5411695Z             {
2026-06-09T03:00:38.5411819Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5411904Z               "line": 1446
2026-06-09T03:00:38.5411985Z             },
2026-06-09T03:00:38.5412068Z             {
2026-06-09T03:00:38.5412163Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5412247Z               "line": 6580
2026-06-09T03:00:38.5412329Z             },
2026-06-09T03:00:38.5412411Z             {
2026-06-09T03:00:38.5412506Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5412591Z               "line": 6750
2026-06-09T03:00:38.5412673Z             },
2026-06-09T03:00:38.5412754Z             {
2026-06-09T03:00:38.5412863Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5412954Z               "line": 6757
2026-06-09T03:00:38.5413035Z             },
2026-06-09T03:00:38.5413115Z             {
2026-06-09T03:00:38.5413215Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5413298Z               "line": 6810
2026-06-09T03:00:38.5413379Z             },
2026-06-09T03:00:38.5413458Z             {
2026-06-09T03:00:38.5413554Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5413636Z               "line": 6827
2026-06-09T03:00:38.5413717Z             },
2026-06-09T03:00:38.5413796Z             {
2026-06-09T03:00:38.5413896Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5413978Z               "line": 6841
2026-06-09T03:00:38.5414062Z             },
2026-06-09T03:00:38.5414142Z             {
2026-06-09T03:00:38.5414237Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5414320Z               "line": 6939
2026-06-09T03:00:38.5414414Z             },
2026-06-09T03:00:38.5414504Z             {
2026-06-09T03:00:38.5414600Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5414691Z               "line": 7089
2026-06-09T03:00:38.5414771Z             }
2026-06-09T03:00:38.5414852Z           ]
2026-06-09T03:00:38.5414930Z         }
2026-06-09T03:00:38.5415010Z       }
2026-06-09T03:00:38.5415091Z     },
2026-06-09T03:00:38.5415172Z     {
2026-06-09T03:00:38.5415259Z       "id": "REQ-SUBNET-2",
2026-06-09T03:00:38.5415482Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-09T03:00:38.5415574Z       "requiredStages": [
2026-06-09T03:00:38.5415653Z         "impl",
2026-06-09T03:00:38.5415735Z         "unit",
2026-06-09T03:00:38.5415821Z         "int"
2026-06-09T03:00:38.5415898Z       ],
2026-06-09T03:00:38.5415982Z       "stages": {
2026-06-09T03:00:38.5416063Z         "doc": {
2026-06-09T03:00:38.5416150Z           "complete": true,
2026-06-09T03:00:38.5416232Z           "evidence": [
2026-06-09T03:00:38.5416325Z             {
2026-06-09T03:00:38.5416475Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-09T03:00:38.5416557Z               "line": 60
2026-06-09T03:00:38.5416640Z             }
2026-06-09T03:00:38.5416716Z           ]
2026-06-09T03:00:38.5416802Z         },
2026-06-09T03:00:38.5416884Z         "impl": {
2026-06-09T03:00:38.5417055Z           "complete": true,
2026-06-09T03:00:38.5417140Z           "evidence": [
2026-06-09T03:00:38.5417222Z             {
2026-06-09T03:00:38.5417336Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.5417421Z               "line": 548
2026-06-09T03:00:38.5417504Z             },
2026-06-09T03:00:38.5417580Z             {
2026-06-09T03:00:38.5417698Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-09T03:00:38.5417780Z               "line": 636
2026-06-09T03:00:38.5417861Z             },
2026-06-09T03:00:38.5417942Z             {
2026-06-09T03:00:38.5418152Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.5418328Z               "line": 448
2026-06-09T03:00:38.5418409Z             },
2026-06-09T03:00:38.5418490Z             {
2026-06-09T03:00:38.5418604Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-09T03:00:38.5418685Z               "line": 578
2026-06-09T03:00:38.5418768Z             },
2026-06-09T03:00:38.5418848Z             {
2026-06-09T03:00:38.5418967Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5419054Z               "line": 26
2026-06-09T03:00:38.5419134Z             },
2026-06-09T03:00:38.5419214Z             {
2026-06-09T03:00:38.5419323Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5419409Z               "line": 60
2026-06-09T03:00:38.5419489Z             },
2026-06-09T03:00:38.5419569Z             {
2026-06-09T03:00:38.5419678Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5419765Z               "line": 168
2026-06-09T03:00:38.5419860Z             },
2026-06-09T03:00:38.5419940Z             {
2026-06-09T03:00:38.5420051Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5420137Z               "line": 295
2026-06-09T03:00:38.5420217Z             },
2026-06-09T03:00:38.5420298Z             {
2026-06-09T03:00:38.5420404Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5420489Z               "line": 417
2026-06-09T03:00:38.5420570Z             },
2026-06-09T03:00:38.5420657Z             {
2026-06-09T03:00:38.5420780Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-09T03:00:38.5420866Z               "line": 252
2026-06-09T03:00:38.5420947Z             },
2026-06-09T03:00:38.5421024Z             {
2026-06-09T03:00:38.5421128Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5421214Z               "line": 2351
2026-06-09T03:00:38.5421291Z             },
2026-06-09T03:00:38.5421372Z             {
2026-06-09T03:00:38.5421476Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5421567Z               "line": 2833
2026-06-09T03:00:38.5421645Z             },
2026-06-09T03:00:38.5421724Z             {
2026-06-09T03:00:38.5421818Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5421904Z               "line": 3456
2026-06-09T03:00:38.5421980Z             }
2026-06-09T03:00:38.5422061Z           ]
2026-06-09T03:00:38.5422140Z         },
2026-06-09T03:00:38.5422221Z         "int": {
2026-06-09T03:00:38.5422308Z           "complete": true,
2026-06-09T03:00:38.5422394Z           "evidence": [
2026-06-09T03:00:38.5422474Z             {
2026-06-09T03:00:38.5422589Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-09T03:00:38.5422675Z               "line": 22
2026-06-09T03:00:38.5422755Z             },
2026-06-09T03:00:38.5422836Z             {
2026-06-09T03:00:38.5422952Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5423032Z               "line": 574
2026-06-09T03:00:38.5423122Z             },
2026-06-09T03:00:38.5423204Z             {
2026-06-09T03:00:38.5423318Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5423409Z               "line": 791
2026-06-09T03:00:38.5423485Z             }
2026-06-09T03:00:38.5423567Z           ]
2026-06-09T03:00:38.5423643Z         },
2026-06-09T03:00:38.5423728Z         "unit": {
2026-06-09T03:00:38.5423814Z           "complete": true,
2026-06-09T03:00:38.5423901Z           "evidence": [
2026-06-09T03:00:38.5423981Z             {
2026-06-09T03:00:38.5424090Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5424178Z               "line": 586
2026-06-09T03:00:38.5424263Z             },
2026-06-09T03:00:38.5424343Z             {
2026-06-09T03:00:38.5424438Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5424523Z               "line": 6620
2026-06-09T03:00:38.5424604Z             },
2026-06-09T03:00:38.5424683Z             {
2026-06-09T03:00:38.5424855Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5425007Z               "line": 7219
2026-06-09T03:00:38.5425088Z             }
2026-06-09T03:00:38.5425165Z           ]
2026-06-09T03:00:38.5425246Z         }
2026-06-09T03:00:38.5425327Z       }
2026-06-09T03:00:38.5425403Z     },
2026-06-09T03:00:38.5425485Z     {
2026-06-09T03:00:38.5425575Z       "id": "REQ-SUBNET-3",
2026-06-09T03:00:38.5425829Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-09T03:00:38.5425923Z       "requiredStages": [
2026-06-09T03:00:38.5426003Z         "impl",
2026-06-09T03:00:38.5426086Z         "unit"
2026-06-09T03:00:38.5426167Z       ],
2026-06-09T03:00:38.5426247Z       "stages": {
2026-06-09T03:00:38.5426328Z         "doc": {
2026-06-09T03:00:38.5426420Z           "complete": false,
2026-06-09T03:00:38.5426506Z           "evidence": []
2026-06-09T03:00:38.5426585Z         },
2026-06-09T03:00:38.5426667Z         "impl": {
2026-06-09T03:00:38.5426758Z           "complete": true,
2026-06-09T03:00:38.5426858Z           "evidence": [
2026-06-09T03:00:38.5426933Z             {
2026-06-09T03:00:38.5427154Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5427238Z               "line": 152
2026-06-09T03:00:38.5427319Z             },
2026-06-09T03:00:38.5427395Z             {
2026-06-09T03:00:38.5427511Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5427595Z               "line": 283
2026-06-09T03:00:38.5427672Z             },
2026-06-09T03:00:38.5427754Z             {
2026-06-09T03:00:38.5427872Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5427953Z               "line": 413
2026-06-09T03:00:38.5428035Z             },
2026-06-09T03:00:38.5428116Z             {
2026-06-09T03:00:38.5428234Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5428316Z               "line": 452
2026-06-09T03:00:38.5428402Z             },
2026-06-09T03:00:38.5428488Z             {
2026-06-09T03:00:38.5428597Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5428684Z               "line": 125
2026-06-09T03:00:38.5428773Z             },
2026-06-09T03:00:38.5428864Z             {
2026-06-09T03:00:38.5428979Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5429065Z               "line": 237
2026-06-09T03:00:38.5429135Z             },
2026-06-09T03:00:38.5429212Z             {
2026-06-09T03:00:38.5429357Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5429436Z               "line": 248
2026-06-09T03:00:38.5429522Z             },
2026-06-09T03:00:38.5429604Z             {
2026-06-09T03:00:38.5429718Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5429803Z               "line": 269
2026-06-09T03:00:38.5429878Z             },
2026-06-09T03:00:38.5429960Z             {
2026-06-09T03:00:38.5430068Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5430167Z               "line": 573
2026-06-09T03:00:38.5430244Z             },
2026-06-09T03:00:38.5430325Z             {
2026-06-09T03:00:38.5430434Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5430519Z               "line": 632
2026-06-09T03:00:38.5430597Z             },
2026-06-09T03:00:38.5430678Z             {
2026-06-09T03:00:38.5430796Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.5430878Z               "line": 61
2026-06-09T03:00:38.5430959Z             },
2026-06-09T03:00:38.5431040Z             {
2026-06-09T03:00:38.5431149Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.5431236Z               "line": 90
2026-06-09T03:00:38.5431317Z             },
2026-06-09T03:00:38.5431397Z             {
2026-06-09T03:00:38.5431507Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.5431594Z               "line": 125
2026-06-09T03:00:38.5431871Z             },
2026-06-09T03:00:38.5431951Z             {
2026-06-09T03:00:38.5432060Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-09T03:00:38.5432147Z               "line": 9
2026-06-09T03:00:38.5432224Z             },
2026-06-09T03:00:38.5432303Z             {
2026-06-09T03:00:38.5432411Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5432493Z               "line": 2670
2026-06-09T03:00:38.5432573Z             },
2026-06-09T03:00:38.5432658Z             {
2026-06-09T03:00:38.5432757Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5432849Z               "line": 445
2026-06-09T03:00:38.5432930Z             }
2026-06-09T03:00:38.5433010Z           ]
2026-06-09T03:00:38.5433091Z         },
2026-06-09T03:00:38.5433173Z         "int": {
2026-06-09T03:00:38.5433263Z           "complete": false,
2026-06-09T03:00:38.5433353Z           "evidence": []
2026-06-09T03:00:38.5433435Z         },
2026-06-09T03:00:38.5433526Z         "unit": {
2026-06-09T03:00:38.5433626Z           "complete": true,
2026-06-09T03:00:38.5433711Z           "evidence": [
2026-06-09T03:00:38.5433794Z             {
2026-06-09T03:00:38.5433912Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5433993Z               "line": 1273
2026-06-09T03:00:38.5434074Z             },
2026-06-09T03:00:38.5434155Z             {
2026-06-09T03:00:38.5434279Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5434360Z               "line": 1575
2026-06-09T03:00:38.5434442Z             },
2026-06-09T03:00:38.5434522Z             {
2026-06-09T03:00:38.5434637Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5434723Z               "line": 884
2026-06-09T03:00:38.5434809Z             },
2026-06-09T03:00:38.5434889Z             {
2026-06-09T03:00:38.5434998Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5435084Z               "line": 941
2026-06-09T03:00:38.5435173Z             },
2026-06-09T03:00:38.5435262Z             {
2026-06-09T03:00:38.5435377Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5435464Z               "line": 990
2026-06-09T03:00:38.5435539Z             },
2026-06-09T03:00:38.5435620Z             {
2026-06-09T03:00:38.5435730Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5435821Z               "line": 1049
2026-06-09T03:00:38.5435901Z             },
2026-06-09T03:00:38.5435987Z             {
2026-06-09T03:00:38.5436102Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-09T03:00:38.5436183Z               "line": 233
2026-06-09T03:00:38.5436268Z             },
2026-06-09T03:00:38.5436350Z             {
2026-06-09T03:00:38.5436469Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-09T03:00:38.5436554Z               "line": 49
2026-06-09T03:00:38.5436641Z             },
2026-06-09T03:00:38.5436722Z             {
2026-06-09T03:00:38.5436826Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5436927Z               "line": 6939
2026-06-09T03:00:38.5437094Z             },
2026-06-09T03:00:38.5437175Z             {
2026-06-09T03:00:38.5437275Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5437357Z               "line": 7044
2026-06-09T03:00:38.5437446Z             },
2026-06-09T03:00:38.5437527Z             {
2026-06-09T03:00:38.5437624Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5437709Z               "line": 7185
2026-06-09T03:00:38.5437793Z             }
2026-06-09T03:00:38.5437874Z           ]
2026-06-09T03:00:38.5437955Z         }
2026-06-09T03:00:38.5438032Z       }
2026-06-09T03:00:38.5438113Z     },
2026-06-09T03:00:38.5438198Z     {
2026-06-09T03:00:38.5438285Z       "id": "REQ-SUBNET-4",
2026-06-09T03:00:38.5438556Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-09T03:00:38.5438757Z       "requiredStages": [
2026-06-09T03:00:38.5438929Z         "impl",
2026-06-09T03:00:38.5439014Z         "unit"
2026-06-09T03:00:38.5439090Z       ],
2026-06-09T03:00:38.5439176Z       "stages": {
2026-06-09T03:00:38.5439258Z         "doc": {
2026-06-09T03:00:38.5439343Z           "complete": true,
2026-06-09T03:00:38.5439433Z           "evidence": [
2026-06-09T03:00:38.5439515Z             {
2026-06-09T03:00:38.5439662Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-09T03:00:38.5439748Z               "line": 60
2026-06-09T03:00:38.5439830Z             }
2026-06-09T03:00:38.5439912Z           ]
2026-06-09T03:00:38.5439991Z         },
2026-06-09T03:00:38.5440077Z         "impl": {
2026-06-09T03:00:38.5440165Z           "complete": true,
2026-06-09T03:00:38.5440250Z           "evidence": [
2026-06-09T03:00:38.5440329Z             {
2026-06-09T03:00:38.5440438Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5440520Z               "line": 2140
2026-06-09T03:00:38.5440609Z             },
2026-06-09T03:00:38.5440698Z             {
2026-06-09T03:00:38.5440794Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5440885Z               "line": 3423
2026-06-09T03:00:38.5440961Z             },
2026-06-09T03:00:38.5441047Z             {
2026-06-09T03:00:38.5441142Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5441228Z               "line": 3456
2026-06-09T03:00:38.5441309Z             }
2026-06-09T03:00:38.5441385Z           ]
2026-06-09T03:00:38.5441467Z         },
2026-06-09T03:00:38.5441548Z         "int": {
2026-06-09T03:00:38.5441633Z           "complete": false,
2026-06-09T03:00:38.5441719Z           "evidence": []
2026-06-09T03:00:38.5441796Z         },
2026-06-09T03:00:38.5441872Z         "unit": {
2026-06-09T03:00:38.5441957Z           "complete": true,
2026-06-09T03:00:38.5442048Z           "evidence": [
2026-06-09T03:00:38.5442121Z             {
2026-06-09T03:00:38.5442220Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5442353Z               "line": 6736
2026-06-09T03:00:38.5442460Z             },
2026-06-09T03:00:38.5442543Z             {
2026-06-09T03:00:38.5442639Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5442726Z               "line": 6810
2026-06-09T03:00:38.5442803Z             }
2026-06-09T03:00:38.5442886Z           ]
2026-06-09T03:00:38.5442972Z         }
2026-06-09T03:00:38.5443048Z       }
2026-06-09T03:00:38.5443129Z     },
2026-06-09T03:00:38.5443208Z     {
2026-06-09T03:00:38.5443303Z       "id": "REQ-SUBNET-5",
2026-06-09T03:00:38.5444453Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-09T03:00:38.5444548Z       "requiredStages": [
2026-06-09T03:00:38.5444654Z         "impl",
2026-06-09T03:00:38.5444730Z         "unit",
2026-06-09T03:00:38.5444815Z         "int"
2026-06-09T03:00:38.5444896Z       ],
2026-06-09T03:00:38.5444983Z       "stages": {
2026-06-09T03:00:38.5445064Z         "doc": {
2026-06-09T03:00:38.5445158Z           "complete": false,
2026-06-09T03:00:38.5445249Z           "evidence": []
2026-06-09T03:00:38.5445327Z         },
2026-06-09T03:00:38.5445411Z         "impl": {
2026-06-09T03:00:38.5445496Z           "complete": true,
2026-06-09T03:00:38.5445586Z           "evidence": [
2026-06-09T03:00:38.5445663Z             {
2026-06-09T03:00:38.5445780Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-09T03:00:38.5445870Z               "line": 126
2026-06-09T03:00:38.5445947Z             },
2026-06-09T03:00:38.5446033Z             {
2026-06-09T03:00:38.5446156Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-09T03:00:38.5446242Z               "line": 413
2026-06-09T03:00:38.5446324Z             },
2026-06-09T03:00:38.5446552Z             {
2026-06-09T03:00:38.5446667Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5446757Z               "line": 74
2026-06-09T03:00:38.5446838Z             },
2026-06-09T03:00:38.5446920Z             {
2026-06-09T03:00:38.5447119Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5447206Z               "line": 357
2026-06-09T03:00:38.5447292Z             },
2026-06-09T03:00:38.5447372Z             {
2026-06-09T03:00:38.5447497Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-09T03:00:38.5447583Z               "line": 31
2026-06-09T03:00:38.5447668Z             },
2026-06-09T03:00:38.5447749Z             {
2026-06-09T03:00:38.5447865Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-09T03:00:38.5447950Z               "line": 50
2026-06-09T03:00:38.5448029Z             },
2026-06-09T03:00:38.5448111Z             {
2026-06-09T03:00:38.5448232Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-09T03:00:38.5448325Z               "line": 69
2026-06-09T03:00:38.5448406Z             },
2026-06-09T03:00:38.5448487Z             {
2026-06-09T03:00:38.5448602Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-09T03:00:38.5448692Z               "line": 113
2026-06-09T03:00:38.5448773Z             },
2026-06-09T03:00:38.5448855Z             {
2026-06-09T03:00:38.5448974Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-09T03:00:38.5449063Z               "line": 25
2026-06-09T03:00:38.5449141Z             },
2026-06-09T03:00:38.5449227Z             {
2026-06-09T03:00:38.5449345Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-09T03:00:38.5449426Z               "line": 34
2026-06-09T03:00:38.5449513Z             },
2026-06-09T03:00:38.5449593Z             {
2026-06-09T03:00:38.5449712Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-09T03:00:38.5449794Z               "line": 17
2026-06-09T03:00:38.5449889Z             },
2026-06-09T03:00:38.5449979Z             {
2026-06-09T03:00:38.5450085Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5450171Z               "line": 3381
2026-06-09T03:00:38.5450251Z             },
2026-06-09T03:00:38.5450332Z             {
2026-06-09T03:00:38.5450438Z               "path": "crates/spt/src/wansend.rs",
2026-06-09T03:00:38.5450528Z               "line": 419
2026-06-09T03:00:38.5450608Z             }
2026-06-09T03:00:38.5450690Z           ]
2026-06-09T03:00:38.5450772Z         },
2026-06-09T03:00:38.5450853Z         "int": {
2026-06-09T03:00:38.5450947Z           "complete": true,
2026-06-09T03:00:38.5451037Z           "evidence": [
2026-06-09T03:00:38.5451113Z             {
2026-06-09T03:00:38.5451230Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5451316Z               "line": 813
2026-06-09T03:00:38.5451397Z             }
2026-06-09T03:00:38.5451478Z           ]
2026-06-09T03:00:38.5451559Z         },
2026-06-09T03:00:38.5451659Z         "unit": {
2026-06-09T03:00:38.5451746Z           "complete": true,
2026-06-09T03:00:38.5453821Z           "evidence": [
2026-06-09T03:00:38.5453926Z             {
2026-06-09T03:00:38.5454060Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.5454154Z               "line": 341
2026-06-09T03:00:38.5454236Z             },
2026-06-09T03:00:38.5454326Z             {
2026-06-09T03:00:38.5454459Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-09T03:00:38.5454550Z               "line": 151
2026-06-09T03:00:38.5454632Z             },
2026-06-09T03:00:38.5454718Z             {
2026-06-09T03:00:38.5454841Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-09T03:00:38.5454933Z               "line": 61
2026-06-09T03:00:38.5455013Z             },
2026-06-09T03:00:38.5455094Z             {
2026-06-09T03:00:38.5455214Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-09T03:00:38.5455304Z               "line": 111
2026-06-09T03:00:38.5455614Z             },
2026-06-09T03:00:38.5455694Z             {
2026-06-09T03:00:38.5455814Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-09T03:00:38.5455901Z               "line": 138
2026-06-09T03:00:38.5455981Z             },
2026-06-09T03:00:38.5456066Z             {
2026-06-09T03:00:38.5456180Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-09T03:00:38.5456270Z               "line": 148
2026-06-09T03:00:38.5456350Z             },
2026-06-09T03:00:38.5456435Z             {
2026-06-09T03:00:38.5456540Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5456627Z               "line": 6637
2026-06-09T03:00:38.5456707Z             }
2026-06-09T03:00:38.5456797Z           ]
2026-06-09T03:00:38.5456879Z         }
2026-06-09T03:00:38.5457054Z       }
2026-06-09T03:00:38.5457141Z     },
2026-06-09T03:00:38.5457227Z     {
2026-06-09T03:00:38.5457317Z       "id": "REQ-SUBNET-6",
2026-06-09T03:00:38.5457990Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-09T03:00:38.5458100Z       "requiredStages": [
2026-06-09T03:00:38.5458191Z         "impl",
2026-06-09T03:00:38.5458270Z         "unit"
2026-06-09T03:00:38.5458352Z       ],
2026-06-09T03:00:38.5458439Z       "stages": {
2026-06-09T03:00:38.5458520Z         "doc": {
2026-06-09T03:00:38.5458613Z           "complete": false,
2026-06-09T03:00:38.5458701Z           "evidence": []
2026-06-09T03:00:38.5458782Z         },
2026-06-09T03:00:38.5458867Z         "impl": {
2026-06-09T03:00:38.5458956Z           "complete": true,
2026-06-09T03:00:38.5459042Z           "evidence": [
2026-06-09T03:00:38.5459125Z             {
2026-06-09T03:00:38.5459248Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5459333Z               "line": 238
2026-06-09T03:00:38.5459434Z             },
2026-06-09T03:00:38.5459515Z             {
2026-06-09T03:00:38.5459618Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5459711Z               "line": 3039
2026-06-09T03:00:38.5459792Z             },
2026-06-09T03:00:38.5459872Z             {
2026-06-09T03:00:38.5459972Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5460059Z               "line": 3056
2026-06-09T03:00:38.5460139Z             },
2026-06-09T03:00:38.5460220Z             {
2026-06-09T03:00:38.5460320Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5460412Z               "line": 3109
2026-06-09T03:00:38.5460491Z             },
2026-06-09T03:00:38.5460573Z             {
2026-06-09T03:00:38.5460670Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5460755Z               "line": 3132
2026-06-09T03:00:38.5460835Z             }
2026-06-09T03:00:38.5460916Z           ]
2026-06-09T03:00:38.5460994Z         },
2026-06-09T03:00:38.5461084Z         "int": {
2026-06-09T03:00:38.5461173Z           "complete": false,
2026-06-09T03:00:38.5461265Z           "evidence": []
2026-06-09T03:00:38.5461342Z         },
2026-06-09T03:00:38.5461426Z         "unit": {
2026-06-09T03:00:38.5461511Z           "complete": true,
2026-06-09T03:00:38.5461597Z           "evidence": [
2026-06-09T03:00:38.5461678Z             {
2026-06-09T03:00:38.5461767Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5461852Z               "line": 6651
2026-06-09T03:00:38.5461934Z             },
2026-06-09T03:00:38.5462010Z             {
2026-06-09T03:00:38.5462110Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5462190Z               "line": 6684
2026-06-09T03:00:38.5462287Z             },
2026-06-09T03:00:38.5462387Z             {
2026-06-09T03:00:38.5462481Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5462568Z               "line": 6693
2026-06-09T03:00:38.5462649Z             }
2026-06-09T03:00:38.5462820Z           ]
2026-06-09T03:00:38.5462988Z         }
2026-06-09T03:00:38.5463069Z       }
2026-06-09T03:00:38.5463149Z     },
2026-06-09T03:00:38.5463222Z     {
2026-06-09T03:00:38.5463307Z       "id": "REQ-SUBNET-7",
2026-06-09T03:00:38.5464844Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-09T03:00:38.5464944Z       "requiredStages": [
2026-06-09T03:00:38.5465029Z         "impl",
2026-06-09T03:00:38.5465110Z         "unit"
2026-06-09T03:00:38.5465192Z       ],
2026-06-09T03:00:38.5465283Z       "stages": {
2026-06-09T03:00:38.5465372Z         "doc": {
2026-06-09T03:00:38.5465459Z           "complete": false,
2026-06-09T03:00:38.5465549Z           "evidence": []
2026-06-09T03:00:38.5465625Z         },
2026-06-09T03:00:38.5465716Z         "impl": {
2026-06-09T03:00:38.5465803Z           "complete": true,
2026-06-09T03:00:38.5465892Z           "evidence": [
2026-06-09T03:00:38.5465973Z             {
2026-06-09T03:00:38.5466093Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-09T03:00:38.5466179Z               "line": 17
2026-06-09T03:00:38.5466264Z             },
2026-06-09T03:00:38.5466346Z             {
2026-06-09T03:00:38.5466466Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5466550Z               "line": 103
2026-06-09T03:00:38.5466631Z             },
2026-06-09T03:00:38.5466716Z             {
2026-06-09T03:00:38.5466830Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-09T03:00:38.5466919Z               "line": 312
2026-06-09T03:00:38.5467096Z             },
2026-06-09T03:00:38.5467187Z             {
2026-06-09T03:00:38.5467309Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5467391Z               "line": 388
2026-06-09T03:00:38.5467473Z             },
2026-06-09T03:00:38.5467558Z             {
2026-06-09T03:00:38.5467706Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5467792Z               "line": 160
2026-06-09T03:00:38.5467877Z             },
2026-06-09T03:00:38.5467958Z             {
2026-06-09T03:00:38.5468083Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5468164Z               "line": 417
2026-06-09T03:00:38.5468249Z             },
2026-06-09T03:00:38.5468331Z             {
2026-06-09T03:00:38.5468450Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5468535Z               "line": 590
2026-06-09T03:00:38.5468617Z             },
2026-06-09T03:00:38.5468699Z             {
2026-06-09T03:00:38.5468831Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5468926Z               "line": 630
2026-06-09T03:00:38.5469009Z             },
2026-06-09T03:00:38.5469089Z             {
2026-06-09T03:00:38.5469213Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5469295Z               "line": 686
2026-06-09T03:00:38.5469375Z             },
2026-06-09T03:00:38.5469460Z             {
2026-06-09T03:00:38.5469583Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5469670Z               "line": 136
2026-06-09T03:00:38.5469751Z             },
2026-06-09T03:00:38.5469836Z             {
2026-06-09T03:00:38.5469946Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5470037Z               "line": 139
2026-06-09T03:00:38.5470117Z             }
2026-06-09T03:00:38.5470198Z           ]
2026-06-09T03:00:38.5470280Z         },
2026-06-09T03:00:38.5470361Z         "int": {
2026-06-09T03:00:38.5470551Z           "complete": false,
2026-06-09T03:00:38.5470723Z           "evidence": []
2026-06-09T03:00:38.5470808Z         },
2026-06-09T03:00:38.5470890Z         "unit": {
2026-06-09T03:00:38.5470981Z           "complete": true,
2026-06-09T03:00:38.5471090Z           "evidence": [
2026-06-09T03:00:38.5471171Z             {
2026-06-09T03:00:38.5471291Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-09T03:00:38.5471376Z               "line": 136
2026-06-09T03:00:38.5471462Z             },
2026-06-09T03:00:38.5471540Z             {
2026-06-09T03:00:38.5471658Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-09T03:00:38.5471748Z               "line": 156
2026-06-09T03:00:38.5471825Z             },
2026-06-09T03:00:38.5471907Z             {
2026-06-09T03:00:38.5472029Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5472114Z               "line": 905
2026-06-09T03:00:38.5472205Z             },
2026-06-09T03:00:38.5472290Z             {
2026-06-09T03:00:38.5472426Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-09T03:00:38.5472508Z               "line": 927
2026-06-09T03:00:38.5472594Z             },
2026-06-09T03:00:38.5472675Z             {
2026-06-09T03:00:38.5472794Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-09T03:00:38.5472885Z               "line": 1419
2026-06-09T03:00:38.5472962Z             },
2026-06-09T03:00:38.5473046Z             {
2026-06-09T03:00:38.5473162Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-09T03:00:38.5473247Z               "line": 985
2026-06-09T03:00:38.5473328Z             }
2026-06-09T03:00:38.5473414Z           ]
2026-06-09T03:00:38.5473496Z         }
2026-06-09T03:00:38.5473576Z       }
2026-06-09T03:00:38.5473657Z     },
2026-06-09T03:00:38.5473738Z     {
2026-06-09T03:00:38.5473825Z       "id": "REQ-SUBNET-8",
2026-06-09T03:00:38.5474875Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-09T03:00:38.5474984Z       "requiredStages": [
2026-06-09T03:00:38.5475074Z         "impl",
2026-06-09T03:00:38.5475151Z         "unit"
2026-06-09T03:00:38.5475236Z       ],
2026-06-09T03:00:38.5475317Z       "stages": {
2026-06-09T03:00:38.5475399Z         "doc": {
2026-06-09T03:00:38.5475494Z           "complete": false,
2026-06-09T03:00:38.5475579Z           "evidence": []
2026-06-09T03:00:38.5475661Z         },
2026-06-09T03:00:38.5475748Z         "impl": {
2026-06-09T03:00:38.5475838Z           "complete": true,
2026-06-09T03:00:38.5475923Z           "evidence": [
2026-06-09T03:00:38.5476005Z             {
2026-06-09T03:00:38.5476105Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5476200Z               "line": 2428
2026-06-09T03:00:38.5476290Z             },
2026-06-09T03:00:38.5476368Z             {
2026-06-09T03:00:38.5476467Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5476552Z               "line": 2457
2026-06-09T03:00:38.5476639Z             },
2026-06-09T03:00:38.5476721Z             {
2026-06-09T03:00:38.5476819Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5476906Z               "line": 2474
2026-06-09T03:00:38.5477064Z             },
2026-06-09T03:00:38.5477138Z             {
2026-06-09T03:00:38.5477233Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5477319Z               "line": 2895
2026-06-09T03:00:38.5477404Z             }
2026-06-09T03:00:38.5477484Z           ]
2026-06-09T03:00:38.5477564Z         },
2026-06-09T03:00:38.5477646Z         "int": {
2026-06-09T03:00:38.5477738Z           "complete": false,
2026-06-09T03:00:38.5477827Z           "evidence": []
2026-06-09T03:00:38.5477908Z         },
2026-06-09T03:00:38.5478090Z         "unit": {
2026-06-09T03:00:38.5478271Z           "complete": true,
2026-06-09T03:00:38.5478357Z           "evidence": [
2026-06-09T03:00:38.5478437Z             {
2026-06-09T03:00:38.5478537Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5478625Z               "line": 6841
2026-06-09T03:00:38.5478709Z             }
2026-06-09T03:00:38.5478790Z           ]
2026-06-09T03:00:38.5478877Z         }
2026-06-09T03:00:38.5478958Z       }
2026-06-09T03:00:38.5479038Z     },
2026-06-09T03:00:38.5479119Z     {
2026-06-09T03:00:38.5479206Z       "id": "REQ-TERM-1",
2026-06-09T03:00:38.5479372Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-09T03:00:38.5479463Z       "requiredStages": [
2026-06-09T03:00:38.5479545Z         "impl",
2026-06-09T03:00:38.5479630Z         "unit"
2026-06-09T03:00:38.5479710Z       ],
2026-06-09T03:00:38.5479796Z       "stages": {
2026-06-09T03:00:38.5479879Z         "doc": {
2026-06-09T03:00:38.5479969Z           "complete": false,
2026-06-09T03:00:38.5480077Z           "evidence": []
2026-06-09T03:00:38.5480162Z         },
2026-06-09T03:00:38.5480245Z         "impl": {
2026-06-09T03:00:38.5480334Z           "complete": true,
2026-06-09T03:00:38.5480424Z           "evidence": [
2026-06-09T03:00:38.5480501Z             {
2026-06-09T03:00:38.5480616Z               "path": "crates/spt-term/src/pty.rs",
2026-06-09T03:00:38.5480701Z               "line": 59
2026-06-09T03:00:38.5480782Z             },
2026-06-09T03:00:38.5480864Z             {
2026-06-09T03:00:38.5480969Z               "path": "crates/spt-term/src/pty.rs",
2026-06-09T03:00:38.5481054Z               "line": 171
2026-06-09T03:00:38.5481136Z             },
2026-06-09T03:00:38.5481217Z             {
2026-06-09T03:00:38.5481331Z               "path": "crates/spt-term/src/surface.rs",
2026-06-09T03:00:38.5481417Z               "line": 100
2026-06-09T03:00:38.5481503Z             }
2026-06-09T03:00:38.5481584Z           ]
2026-06-09T03:00:38.5481670Z         },
2026-06-09T03:00:38.5481760Z         "int": {
2026-06-09T03:00:38.5481861Z           "complete": false,
2026-06-09T03:00:38.5481950Z           "evidence": []
2026-06-09T03:00:38.5482032Z         },
2026-06-09T03:00:38.5482114Z         "unit": {
2026-06-09T03:00:38.5482204Z           "complete": true,
2026-06-09T03:00:38.5482293Z           "evidence": [
2026-06-09T03:00:38.5482371Z             {
2026-06-09T03:00:38.5482490Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-09T03:00:38.5482584Z               "line": 24
2026-06-09T03:00:38.5482665Z             },
2026-06-09T03:00:38.5482746Z             {
2026-06-09T03:00:38.5482855Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-09T03:00:38.5482944Z               "line": 56
2026-06-09T03:00:38.5483020Z             }
2026-06-09T03:00:38.5483102Z           ]
2026-06-09T03:00:38.5483188Z         }
2026-06-09T03:00:38.5483263Z       }
2026-06-09T03:00:38.5483349Z     },
2026-06-09T03:00:38.5483426Z     {
2026-06-09T03:00:38.5483517Z       "id": "REQ-TERM-2",
2026-06-09T03:00:38.5483698Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-09T03:00:38.5483789Z       "requiredStages": [
2026-06-09T03:00:38.5483874Z         "impl",
2026-06-09T03:00:38.5483955Z         "unit"
2026-06-09T03:00:38.5484037Z       ],
2026-06-09T03:00:38.5484118Z       "stages": {
2026-06-09T03:00:38.5484203Z         "doc": {
2026-06-09T03:00:38.5484289Z           "complete": false,
2026-06-09T03:00:38.5484375Z           "evidence": []
2026-06-09T03:00:38.5484461Z         },
2026-06-09T03:00:38.5484542Z         "impl": {
2026-06-09T03:00:38.5484637Z           "complete": true,
2026-06-09T03:00:38.5484724Z           "evidence": [
2026-06-09T03:00:38.5484803Z             {
2026-06-09T03:00:38.5484904Z               "path": "crates/spt-term/src/surface.rs",
2026-06-09T03:00:38.5484991Z               "line": 117
2026-06-09T03:00:38.5485071Z             },
2026-06-09T03:00:38.5485155Z             {
2026-06-09T03:00:38.5485269Z               "path": "crates/spt-term/src/surface.rs",
2026-06-09T03:00:38.5485529Z               "line": 127
2026-06-09T03:00:38.5485616Z             }
2026-06-09T03:00:38.5485693Z           ]
2026-06-09T03:00:38.5485778Z         },
2026-06-09T03:00:38.5485858Z         "int": {
2026-06-09T03:00:38.5485950Z           "complete": false,
2026-06-09T03:00:38.5486035Z           "evidence": []
2026-06-09T03:00:38.5486116Z         },
2026-06-09T03:00:38.5486202Z         "unit": {
2026-06-09T03:00:38.5486289Z           "complete": true,
2026-06-09T03:00:38.5486378Z           "evidence": [
2026-06-09T03:00:38.5486459Z             {
2026-06-09T03:00:38.5486580Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-09T03:00:38.5486665Z               "line": 46
2026-06-09T03:00:38.5486746Z             },
2026-06-09T03:00:38.5486827Z             {
2026-06-09T03:00:38.5486938Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-09T03:00:38.5487117Z               "line": 77
2026-06-09T03:00:38.5487204Z             }
2026-06-09T03:00:38.5487300Z           ]
2026-06-09T03:00:38.5487379Z         }
2026-06-09T03:00:38.5487461Z       }
2026-06-09T03:00:38.5487543Z     },
2026-06-09T03:00:38.5487624Z     {
2026-06-09T03:00:38.5487713Z       "id": "REQ-TERM-3",
2026-06-09T03:00:38.5487851Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-09T03:00:38.5487937Z       "requiredStages": [
2026-06-09T03:00:38.5488020Z         "impl",
2026-06-09T03:00:38.5488101Z         "unit"
2026-06-09T03:00:38.5488187Z       ],
2026-06-09T03:00:38.5488269Z       "stages": {
2026-06-09T03:00:38.5488349Z         "doc": {
2026-06-09T03:00:38.5488439Z           "complete": false,
2026-06-09T03:00:38.5488526Z           "evidence": []
2026-06-09T03:00:38.5488612Z         },
2026-06-09T03:00:38.5488697Z         "impl": {
2026-06-09T03:00:38.5488788Z           "complete": true,
2026-06-09T03:00:38.5488875Z           "evidence": [
2026-06-09T03:00:38.5488955Z             {
2026-06-09T03:00:38.5489069Z               "path": "crates/spt-term/src/stream.rs",
2026-06-09T03:00:38.5489166Z               "line": 71
2026-06-09T03:00:38.5489245Z             }
2026-06-09T03:00:38.5489326Z           ]
2026-06-09T03:00:38.5489412Z         },
2026-06-09T03:00:38.5489495Z         "int": {
2026-06-09T03:00:38.5489584Z           "complete": false,
2026-06-09T03:00:38.5489675Z           "evidence": []
2026-06-09T03:00:38.5489752Z         },
2026-06-09T03:00:38.5489833Z         "unit": {
2026-06-09T03:00:38.5489917Z           "complete": true,
2026-06-09T03:00:38.5490004Z           "evidence": [
2026-06-09T03:00:38.5490086Z             {
2026-06-09T03:00:38.5490195Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-09T03:00:38.5490280Z               "line": 37
2026-06-09T03:00:38.5490357Z             },
2026-06-09T03:00:38.5490439Z             {
2026-06-09T03:00:38.5490547Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-09T03:00:38.5490632Z               "line": 67
2026-06-09T03:00:38.5490708Z             }
2026-06-09T03:00:38.5490795Z           ]
2026-06-09T03:00:38.5490880Z         }
2026-06-09T03:00:38.5490961Z       }
2026-06-09T03:00:38.5491042Z     },
2026-06-09T03:00:38.5491119Z     {
2026-06-09T03:00:38.5491209Z       "id": "REQ-TERM-4",
2026-06-09T03:00:38.5491534Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-09T03:00:38.5491628Z       "requiredStages": [
2026-06-09T03:00:38.5491711Z         "impl",
2026-06-09T03:00:38.5491791Z         "unit",
2026-06-09T03:00:38.5491872Z         "int"
2026-06-09T03:00:38.5491952Z       ],
2026-06-09T03:00:38.5492035Z       "stages": {
2026-06-09T03:00:38.5492115Z         "doc": {
2026-06-09T03:00:38.5492206Z           "complete": true,
2026-06-09T03:00:38.5492291Z           "evidence": [
2026-06-09T03:00:38.5492369Z             {
2026-06-09T03:00:38.5492468Z               "path": "docs/MANIFEST.md",
2026-06-09T03:00:38.5492549Z               "line": 115
2026-06-09T03:00:38.5492745Z             }
2026-06-09T03:00:38.5492911Z           ]
2026-06-09T03:00:38.5492994Z         },
2026-06-09T03:00:38.5493074Z         "impl": {
2026-06-09T03:00:38.5493164Z           "complete": true,
2026-06-09T03:00:38.5493249Z           "evidence": [
2026-06-09T03:00:38.5493330Z             {
2026-06-09T03:00:38.5493443Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-09T03:00:38.5493523Z               "line": 507
2026-06-09T03:00:38.5493609Z             },
2026-06-09T03:00:38.5493691Z             {
2026-06-09T03:00:38.5493800Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5493885Z               "line": 41
2026-06-09T03:00:38.5493963Z             },
2026-06-09T03:00:38.5494048Z             {
2026-06-09T03:00:38.5494157Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5494238Z               "line": 91
2026-06-09T03:00:38.5494320Z             },
2026-06-09T03:00:38.5494400Z             {
2026-06-09T03:00:38.5494510Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5494606Z               "line": 152
2026-06-09T03:00:38.5494687Z             },
2026-06-09T03:00:38.5494763Z             {
2026-06-09T03:00:38.5494873Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5494959Z               "line": 221
2026-06-09T03:00:38.5495039Z             },
2026-06-09T03:00:38.5495120Z             {
2026-06-09T03:00:38.5495236Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5495321Z               "line": 20
2026-06-09T03:00:38.5495402Z             },
2026-06-09T03:00:38.5495488Z             {
2026-06-09T03:00:38.5495599Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5495683Z               "line": 222
2026-06-09T03:00:38.5495763Z             },
2026-06-09T03:00:38.5495844Z             {
2026-06-09T03:00:38.5495958Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5496042Z               "line": 242
2026-06-09T03:00:38.5496128Z             },
2026-06-09T03:00:38.5496219Z             {
2026-06-09T03:00:38.5496333Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.5496418Z               "line": 625
2026-06-09T03:00:38.5496495Z             },
2026-06-09T03:00:38.5496577Z             {
2026-06-09T03:00:38.5496686Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5496772Z               "line": 162
2026-06-09T03:00:38.5496854Z             },
2026-06-09T03:00:38.5496929Z             {
2026-06-09T03:00:38.5497130Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5497216Z               "line": 206
2026-06-09T03:00:38.5497292Z             },
2026-06-09T03:00:38.5497377Z             {
2026-06-09T03:00:38.5497478Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5497564Z               "line": 233
2026-06-09T03:00:38.5497645Z             },
2026-06-09T03:00:38.5497726Z             {
2026-06-09T03:00:38.5497841Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5497930Z               "line": 825
2026-06-09T03:00:38.5498011Z             }
2026-06-09T03:00:38.5498094Z           ]
2026-06-09T03:00:38.5498175Z         },
2026-06-09T03:00:38.5498254Z         "int": {
2026-06-09T03:00:38.5498344Z           "complete": true,
2026-06-09T03:00:38.5498425Z           "evidence": [
2026-06-09T03:00:38.5498511Z             {
2026-06-09T03:00:38.5498623Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-09T03:00:38.5498709Z               "line": 18
2026-06-09T03:00:38.5498791Z             }
2026-06-09T03:00:38.5498868Z           ]
2026-06-09T03:00:38.5498947Z         },
2026-06-09T03:00:38.5499028Z         "unit": {
2026-06-09T03:00:38.5499120Z           "complete": true,
2026-06-09T03:00:38.5499206Z           "evidence": [
2026-06-09T03:00:38.5499285Z             {
2026-06-09T03:00:38.5499396Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5499482Z               "line": 259
2026-06-09T03:00:38.5499745Z             },
2026-06-09T03:00:38.5499825Z             {
2026-06-09T03:00:38.5499939Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5500021Z               "line": 277
2026-06-09T03:00:38.5500102Z             },
2026-06-09T03:00:38.5500182Z             {
2026-06-09T03:00:38.5500292Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5500379Z               "line": 289
2026-06-09T03:00:38.5500459Z             },
2026-06-09T03:00:38.5500540Z             {
2026-06-09T03:00:38.5500646Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5500732Z               "line": 304
2026-06-09T03:00:38.5500816Z             },
2026-06-09T03:00:38.5500893Z             {
2026-06-09T03:00:38.5501004Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5501089Z               "line": 320
2026-06-09T03:00:38.5501169Z             },
2026-06-09T03:00:38.5501254Z             {
2026-06-09T03:00:38.5501369Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5501459Z               "line": 346
2026-06-09T03:00:38.5501540Z             },
2026-06-09T03:00:38.5501621Z             {
2026-06-09T03:00:38.5501727Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5501812Z               "line": 361
2026-06-09T03:00:38.5501898Z             },
2026-06-09T03:00:38.5501975Z             {
2026-06-09T03:00:38.5502084Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-09T03:00:38.5502170Z               "line": 391
2026-06-09T03:00:38.5502251Z             },
2026-06-09T03:00:38.5502328Z             {
2026-06-09T03:00:38.5502446Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5502532Z               "line": 365
2026-06-09T03:00:38.5502619Z             },
2026-06-09T03:00:38.5502699Z             {
2026-06-09T03:00:38.5502809Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5502890Z               "line": 382
2026-06-09T03:00:38.5502986Z             },
2026-06-09T03:00:38.5503061Z             {
2026-06-09T03:00:38.5503171Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5503258Z               "line": 411
2026-06-09T03:00:38.5503338Z             },
2026-06-09T03:00:38.5503418Z             {
2026-06-09T03:00:38.5503530Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-09T03:00:38.5503615Z               "line": 428
2026-06-09T03:00:38.5503695Z             },
2026-06-09T03:00:38.5503775Z             {
2026-06-09T03:00:38.5503886Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.5503975Z               "line": 828
2026-06-09T03:00:38.5504055Z             },
2026-06-09T03:00:38.5504135Z             {
2026-06-09T03:00:38.5504251Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.5504332Z               "line": 835
2026-06-09T03:00:38.5504416Z             },
2026-06-09T03:00:38.5504498Z             {
2026-06-09T03:00:38.5504632Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.5504717Z               "line": 850
2026-06-09T03:00:38.5504799Z             },
2026-06-09T03:00:38.5504880Z             {
2026-06-09T03:00:38.5504989Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5505075Z               "line": 420
2026-06-09T03:00:38.5505153Z             },
2026-06-09T03:00:38.5505233Z             {
2026-06-09T03:00:38.5505342Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5505428Z               "line": 458
2026-06-09T03:00:38.5505510Z             },
2026-06-09T03:00:38.5505590Z             {
2026-06-09T03:00:38.5505690Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5505772Z               "line": 471
2026-06-09T03:00:38.5505853Z             },
2026-06-09T03:00:38.5505933Z             {
2026-06-09T03:00:38.5506033Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5506191Z               "line": 497
2026-06-09T03:00:38.5506337Z             },
2026-06-09T03:00:38.5506419Z             {
2026-06-09T03:00:38.5506514Z               "path": "crates/spt-term/src/digest.rs",
2026-06-09T03:00:38.5506598Z               "line": 524
2026-06-09T03:00:38.5506688Z             },
2026-06-09T03:00:38.5506789Z             {
2026-06-09T03:00:38.5506898Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-09T03:00:38.5507060Z               "line": 32
2026-06-09T03:00:38.5507142Z             },
2026-06-09T03:00:38.5507222Z             {
2026-06-09T03:00:38.5507346Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5507433Z               "line": 6409
2026-06-09T03:00:38.5507513Z             }
2026-06-09T03:00:38.5507594Z           ]
2026-06-09T03:00:38.5507670Z         }
2026-06-09T03:00:38.5507757Z       }
2026-06-09T03:00:38.5507837Z     },
2026-06-09T03:00:38.5507918Z     {
2026-06-09T03:00:38.5508005Z       "id": "REQ-UPD-1",
2026-06-09T03:00:38.5508119Z       "title": "Peer-propagated update over P2P",
2026-06-09T03:00:38.5508228Z       "requiredStages": [
2026-06-09T03:00:38.5508309Z         "impl",
2026-06-09T03:00:38.5508391Z         "unit",
2026-06-09T03:00:38.5508471Z         "int"
2026-06-09T03:00:38.5508553Z       ],
2026-06-09T03:00:38.5508634Z       "stages": {
2026-06-09T03:00:38.5508730Z         "doc": {
2026-06-09T03:00:38.5508824Z           "complete": false,
2026-06-09T03:00:38.5508909Z           "evidence": []
2026-06-09T03:00:38.5508995Z         },
2026-06-09T03:00:38.5509075Z         "impl": {
2026-06-09T03:00:38.5509174Z           "complete": true,
2026-06-09T03:00:38.5509278Z           "evidence": [
2026-06-09T03:00:38.5509361Z             {
2026-06-09T03:00:38.5509484Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5509574Z               "line": 28
2026-06-09T03:00:38.5509651Z             },
2026-06-09T03:00:38.5509732Z             {
2026-06-09T03:00:38.5509855Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5510141Z               "line": 103
2026-06-09T03:00:38.5510338Z             },
2026-06-09T03:00:38.5510528Z             {
2026-06-09T03:00:38.5510728Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5510987Z               "line": 342
2026-06-09T03:00:38.5511167Z             },
2026-06-09T03:00:38.5511339Z             {
2026-06-09T03:00:38.5511535Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5511771Z               "line": 22
2026-06-09T03:00:38.5511949Z             },
2026-06-09T03:00:38.5512110Z             {
2026-06-09T03:00:38.5512297Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5512536Z               "line": 117
2026-06-09T03:00:38.5512715Z             },
2026-06-09T03:00:38.5512874Z             {
2026-06-09T03:00:38.5513073Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5513307Z               "line": 150
2026-06-09T03:00:38.5513480Z             },
2026-06-09T03:00:38.5513655Z             {
2026-06-09T03:00:38.5513847Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5514081Z               "line": 207
2026-06-09T03:00:38.5514260Z             },
2026-06-09T03:00:38.5514416Z             {
2026-06-09T03:00:38.5514596Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.5514835Z               "line": 37
2026-06-09T03:00:38.5515020Z             }
2026-06-09T03:00:38.5515192Z           ]
2026-06-09T03:00:38.5515368Z         },
2026-06-09T03:00:38.5515530Z         "int": {
2026-06-09T03:00:38.5515708Z           "complete": true,
2026-06-09T03:00:38.5515902Z           "evidence": [
2026-06-09T03:00:38.5516089Z             {
2026-06-09T03:00:38.5516293Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-09T03:00:38.5516541Z               "line": 207
2026-06-09T03:00:38.5516719Z             },
2026-06-09T03:00:38.5516878Z             {
2026-06-09T03:00:38.5521336Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-09T03:00:38.5522153Z               "line": 986
2026-06-09T03:00:38.5522527Z             }
2026-06-09T03:00:38.5522814Z           ]
2026-06-09T03:00:38.5523086Z         },
2026-06-09T03:00:38.5523342Z         "unit": {
2026-06-09T03:00:38.5523633Z           "complete": true,
2026-06-09T03:00:38.5523958Z           "evidence": [
2026-06-09T03:00:38.5524263Z             {
2026-06-09T03:00:38.5524611Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5525062Z               "line": 310
2026-06-09T03:00:38.5525376Z             },
2026-06-09T03:00:38.5525643Z             {
2026-06-09T03:00:38.5525982Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5526491Z               "line": 333
2026-06-09T03:00:38.5526806Z             },
2026-06-09T03:00:38.5527178Z             {
2026-06-09T03:00:38.5527544Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-09T03:00:38.5527980Z               "line": 275
2026-06-09T03:00:38.5528324Z             },
2026-06-09T03:00:38.5528638Z             {
2026-06-09T03:00:38.5528953Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.5529377Z               "line": 124
2026-06-09T03:00:38.5529692Z             },
2026-06-09T03:00:38.5529972Z             {
2026-06-09T03:00:38.5530313Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.5530718Z               "line": 200
2026-06-09T03:00:38.5531009Z             }
2026-06-09T03:00:38.5531243Z           ]
2026-06-09T03:00:38.5531401Z         }
2026-06-09T03:00:38.5531558Z       }
2026-06-09T03:00:38.5531711Z     },
2026-06-09T03:00:38.5531862Z     {
2026-06-09T03:00:38.5532026Z       "id": "REQ-UPD-2",
2026-06-09T03:00:38.5532273Z       "title": "All binaries signature-verified before handoff",
2026-06-09T03:00:38.5532554Z       "requiredStages": [
2026-06-09T03:00:38.5532750Z         "impl",
2026-06-09T03:00:38.5532920Z         "unit"
2026-06-09T03:00:38.5533078Z       ],
2026-06-09T03:00:38.5533244Z       "stages": {
2026-06-09T03:00:38.5533427Z         "doc": {
2026-06-09T03:00:38.5533597Z           "complete": false,
2026-06-09T03:00:38.5533793Z           "evidence": []
2026-06-09T03:00:38.5533975Z         },
2026-06-09T03:00:38.5534131Z         "impl": {
2026-06-09T03:00:38.5534304Z           "complete": true,
2026-06-09T03:00:38.5534494Z           "evidence": [
2026-06-09T03:00:38.5534671Z             {
2026-06-09T03:00:38.5534871Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5535118Z               "line": 343
2026-06-09T03:00:38.5535296Z             },
2026-06-09T03:00:38.5535470Z             {
2026-06-09T03:00:38.5535674Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5535989Z               "line": 469
2026-06-09T03:00:38.5536160Z             },
2026-06-09T03:00:38.5536327Z             {
2026-06-09T03:00:38.5536513Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5536751Z               "line": 29
2026-06-09T03:00:38.5536932Z             },
2026-06-09T03:00:38.5537214Z             {
2026-06-09T03:00:38.5537413Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5537657Z               "line": 258
2026-06-09T03:00:38.5537830Z             },
2026-06-09T03:00:38.5537994Z             {
2026-06-09T03:00:38.5538175Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5538407Z               "line": 275
2026-06-09T03:00:38.5538578Z             },
2026-06-09T03:00:38.5538735Z             {
2026-06-09T03:00:38.5538921Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5539156Z               "line": 395
2026-06-09T03:00:38.5539336Z             },
2026-06-09T03:00:38.5539494Z             {
2026-06-09T03:00:38.5539680Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5539918Z               "line": 527
2026-06-09T03:00:38.5540095Z             },
2026-06-09T03:00:38.5540262Z             {
2026-06-09T03:00:38.5540608Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5540949Z               "line": 155
2026-06-09T03:00:38.5541140Z             }
2026-06-09T03:00:38.5541332Z           ]
2026-06-09T03:00:38.5541507Z         },
2026-06-09T03:00:38.5541661Z         "int": {
2026-06-09T03:00:38.5541836Z           "complete": false,
2026-06-09T03:00:38.5542032Z           "evidence": []
2026-06-09T03:00:38.5542208Z         },
2026-06-09T03:00:38.5542371Z         "unit": {
2026-06-09T03:00:38.5542547Z           "complete": true,
2026-06-09T03:00:38.5542737Z           "evidence": [
2026-06-09T03:00:38.5542916Z             {
2026-06-09T03:00:38.5543109Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5543348Z               "line": 682
2026-06-09T03:00:38.5543523Z             },
2026-06-09T03:00:38.5543686Z             {
2026-06-09T03:00:38.5543881Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5544119Z               "line": 743
2026-06-09T03:00:38.5544321Z             },
2026-06-09T03:00:38.5544482Z             {
2026-06-09T03:00:38.5544668Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5544902Z               "line": 757
2026-06-09T03:00:38.5545078Z             },
2026-06-09T03:00:38.5545245Z             {
2026-06-09T03:00:38.5545436Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5545678Z               "line": 773
2026-06-09T03:00:38.5545851Z             },
2026-06-09T03:00:38.5546011Z             {
2026-06-09T03:00:38.5546206Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5546438Z               "line": 864
2026-06-09T03:00:38.5546609Z             },
2026-06-09T03:00:38.5546773Z             {
2026-06-09T03:00:38.5547054Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5547291Z               "line": 412
2026-06-09T03:00:38.5547464Z             },
2026-06-09T03:00:38.5547621Z             {
2026-06-09T03:00:38.5547811Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5548089Z               "line": 425
2026-06-09T03:00:38.5548269Z             },
2026-06-09T03:00:38.5548441Z             {
2026-06-09T03:00:38.5548640Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-09T03:00:38.5548886Z               "line": 408
2026-06-09T03:00:38.5549058Z             }
2026-06-09T03:00:38.5549215Z           ]
2026-06-09T03:00:38.5549368Z         }
2026-06-09T03:00:38.5549519Z       }
2026-06-09T03:00:38.5549678Z     },
2026-06-09T03:00:38.5549825Z     {
2026-06-09T03:00:38.5549984Z       "id": "REQ-UPD-3",
2026-06-09T03:00:38.5550250Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-09T03:00:38.5550555Z       "requiredStages": [
2026-06-09T03:00:38.5550745Z         "impl",
2026-06-09T03:00:38.5550909Z         "unit",
2026-06-09T03:00:38.5551069Z         "int"
2026-06-09T03:00:38.5551226Z       ],
2026-06-09T03:00:38.5551381Z       "stages": {
2026-06-09T03:00:38.5551567Z         "doc": {
2026-06-09T03:00:38.5551748Z           "complete": false,
2026-06-09T03:00:38.5551939Z           "evidence": []
2026-06-09T03:00:38.5552124Z         },
2026-06-09T03:00:38.5552283Z         "impl": {
2026-06-09T03:00:38.5552453Z           "complete": true,
2026-06-09T03:00:38.5552640Z           "evidence": [
2026-06-09T03:00:38.5552817Z             {
2026-06-09T03:00:38.5553016Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5553260Z               "line": 39
2026-06-09T03:00:38.5553441Z             },
2026-06-09T03:00:38.5553603Z             {
2026-06-09T03:00:38.5553805Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5554045Z               "line": 71
2026-06-09T03:00:38.5554227Z             },
2026-06-09T03:00:38.5554388Z             {
2026-06-09T03:00:38.5554575Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5554814Z               "line": 26
2026-06-09T03:00:38.5555090Z             },
2026-06-09T03:00:38.5555343Z             {
2026-06-09T03:00:38.5555523Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5555763Z               "line": 114
2026-06-09T03:00:38.5555938Z             },
2026-06-09T03:00:38.5556097Z             {
2026-06-09T03:00:38.5556277Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5556524Z               "line": 246
2026-06-09T03:00:38.5556714Z             },
2026-06-09T03:00:38.5556893Z             {
2026-06-09T03:00:38.5557161Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5557399Z               "line": 1643
2026-06-09T03:00:38.5557584Z             }
2026-06-09T03:00:38.5557742Z           ]
2026-06-09T03:00:38.5557895Z         },
2026-06-09T03:00:38.5558052Z         "int": {
2026-06-09T03:00:38.5558228Z           "complete": true,
2026-06-09T03:00:38.5558419Z           "evidence": [
2026-06-09T03:00:38.5558592Z             {
2026-06-09T03:00:38.5558800Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-09T03:00:38.5559071Z               "line": 23
2026-06-09T03:00:38.5559253Z             }
2026-06-09T03:00:38.5559417Z           ]
2026-06-09T03:00:38.5559580Z         },
2026-06-09T03:00:38.5559741Z         "unit": {
2026-06-09T03:00:38.5559914Z           "complete": true,
2026-06-09T03:00:38.5560104Z           "evidence": [
2026-06-09T03:00:38.5560280Z             {
2026-06-09T03:00:38.5560471Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5560714Z               "line": 393
2026-06-09T03:00:38.5560887Z             },
2026-06-09T03:00:38.5561043Z             {
2026-06-09T03:00:38.5561234Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5561464Z               "line": 461
2026-06-09T03:00:38.5561638Z             },
2026-06-09T03:00:38.5561796Z             {
2026-06-09T03:00:38.5561975Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5562209Z               "line": 271
2026-06-09T03:00:38.5562389Z             },
2026-06-09T03:00:38.5562552Z             {
2026-06-09T03:00:38.5562733Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5562961Z               "line": 295
2026-06-09T03:00:38.5563133Z             },
2026-06-09T03:00:38.5563290Z             {
2026-06-09T03:00:38.5563472Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5563706Z               "line": 316
2026-06-09T03:00:38.5563881Z             },
2026-06-09T03:00:38.5564036Z             {
2026-06-09T03:00:38.5564224Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5564450Z               "line": 332
2026-06-09T03:00:38.5564629Z             }
2026-06-09T03:00:38.5564787Z           ]
2026-06-09T03:00:38.5564944Z         }
2026-06-09T03:00:38.5565097Z       }
2026-06-09T03:00:38.5565249Z     },
2026-06-09T03:00:38.5565398Z     {
2026-06-09T03:00:38.5565554Z       "id": "REQ-UPD-4",
2026-06-09T03:00:38.5565821Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-09T03:00:38.5566131Z       "requiredStages": [
2026-06-09T03:00:38.5566309Z         "impl",
2026-06-09T03:00:38.5566475Z         "unit"
2026-06-09T03:00:38.5566638Z       ],
2026-06-09T03:00:38.5566789Z       "stages": {
2026-06-09T03:00:38.5567041Z         "doc": {
2026-06-09T03:00:38.5567213Z           "complete": false,
2026-06-09T03:00:38.5567406Z           "evidence": []
2026-06-09T03:00:38.5567588Z         },
2026-06-09T03:00:38.5567744Z         "impl": {
2026-06-09T03:00:38.5567912Z           "complete": true,
2026-06-09T03:00:38.5568097Z           "evidence": [
2026-06-09T03:00:38.5568270Z             {
2026-06-09T03:00:38.5568464Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5568698Z               "line": 40
2026-06-09T03:00:38.5568866Z             },
2026-06-09T03:00:38.5569022Z             {
2026-06-09T03:00:38.5569237Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5569576Z               "line": 72
2026-06-09T03:00:38.5569875Z             },
2026-06-09T03:00:38.5570030Z             {
2026-06-09T03:00:38.5570216Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-09T03:00:38.5570450Z               "line": 23
2026-06-09T03:00:38.5570620Z             },
2026-06-09T03:00:38.5570779Z             {
2026-06-09T03:00:38.5570964Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-09T03:00:38.5571188Z               "line": 56
2026-06-09T03:00:38.5571361Z             },
2026-06-09T03:00:38.5571512Z             {
2026-06-09T03:00:38.5571695Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-09T03:00:38.5571932Z               "line": 77
2026-06-09T03:00:38.5572105Z             },
2026-06-09T03:00:38.5572260Z             {
2026-06-09T03:00:38.5572455Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-09T03:00:38.5572687Z               "line": 184
2026-06-09T03:00:38.5572863Z             },
2026-06-09T03:00:38.5573022Z             {
2026-06-09T03:00:38.5573226Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-09T03:00:38.5573460Z               "line": 101
2026-06-09T03:00:38.5573647Z             },
2026-06-09T03:00:38.5573803Z             {
2026-06-09T03:00:38.5573990Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.5574223Z               "line": 170
2026-06-09T03:00:38.5574403Z             },
2026-06-09T03:00:38.5574567Z             {
2026-06-09T03:00:38.5574746Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5574986Z               "line": 1642
2026-06-09T03:00:38.5575184Z             }
2026-06-09T03:00:38.5575342Z           ]
2026-06-09T03:00:38.5575499Z         },
2026-06-09T03:00:38.5575662Z         "int": {
2026-06-09T03:00:38.5575843Z           "complete": false,
2026-06-09T03:00:38.5576038Z           "evidence": []
2026-06-09T03:00:38.5576216Z         },
2026-06-09T03:00:38.5576381Z         "unit": {
2026-06-09T03:00:38.5576563Z           "complete": true,
2026-06-09T03:00:38.5576763Z           "evidence": [
2026-06-09T03:00:38.5577044Z             {
2026-06-09T03:00:38.5577240Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5577489Z               "line": 389
2026-06-09T03:00:38.5577668Z             },
2026-06-09T03:00:38.5577825Z             {
2026-06-09T03:00:38.5578018Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5578257Z               "line": 514
2026-06-09T03:00:38.5578439Z             },
2026-06-09T03:00:38.5578605Z             {
2026-06-09T03:00:38.5578796Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-09T03:00:38.5579034Z               "line": 384
2026-06-09T03:00:38.5579216Z             },
2026-06-09T03:00:38.5579373Z             {
2026-06-09T03:00:38.5579559Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-09T03:00:38.5579793Z               "line": 102
2026-06-09T03:00:38.5579979Z             },
2026-06-09T03:00:38.5580145Z             {
2026-06-09T03:00:38.5580401Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-09T03:00:38.5580652Z               "line": 123
2026-06-09T03:00:38.5580833Z             },
2026-06-09T03:00:38.5580996Z             {
2026-06-09T03:00:38.5581185Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-09T03:00:38.5581419Z               "line": 142
2026-06-09T03:00:38.5581601Z             },
2026-06-09T03:00:38.5581758Z             {
2026-06-09T03:00:38.5581950Z               "path": "crates/spt-store/src/info.rs",
2026-06-09T03:00:38.5582177Z               "line": 386
2026-06-09T03:00:38.5582360Z             },
2026-06-09T03:00:38.5582516Z             {
2026-06-09T03:00:38.5582707Z               "path": "crates/spt-store/src/perch.rs",
2026-06-09T03:00:38.5582935Z               "line": 556
2026-06-09T03:00:38.5583118Z             },
2026-06-09T03:00:38.5583277Z             {
2026-06-09T03:00:38.5583457Z               "path": "crates/spt/src/cli.rs",
2026-06-09T03:00:38.5583687Z               "line": 5258
2026-06-09T03:00:38.5583967Z             }
2026-06-09T03:00:38.5584240Z           ]
2026-06-09T03:00:38.5584391Z         }
2026-06-09T03:00:38.5584550Z       }
2026-06-09T03:00:38.5584706Z     },
2026-06-09T03:00:38.5584870Z     {
2026-06-09T03:00:38.5585030Z       "id": "REQ-UPD-5",
2026-06-09T03:00:38.5585268Z       "title": "spt-core ripple-updates registered adapters",
2026-06-09T03:00:38.5585537Z       "requiredStages": [
2026-06-09T03:00:38.5585720Z         "impl",
2026-06-09T03:00:38.5585888Z         "unit"
2026-06-09T03:00:38.5586049Z       ],
2026-06-09T03:00:38.5586208Z       "stages": {
2026-06-09T03:00:38.5586379Z         "doc": {
2026-06-09T03:00:38.5586556Z           "complete": false,
2026-06-09T03:00:38.5586752Z           "evidence": []
2026-06-09T03:00:38.5586932Z         },
2026-06-09T03:00:38.5587185Z         "impl": {
2026-06-09T03:00:38.5587362Z           "complete": true,
2026-06-09T03:00:38.5587561Z           "evidence": [
2026-06-09T03:00:38.5587735Z             {
2026-06-09T03:00:38.5590649Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5590947Z               "line": 27
2026-06-09T03:00:38.5591145Z             },
2026-06-09T03:00:38.5591317Z             {
2026-06-09T03:00:38.5591527Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5591784Z               "line": 82
2026-06-09T03:00:38.5591970Z             },
2026-06-09T03:00:38.5592127Z             {
2026-06-09T03:00:38.5592333Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5592581Z               "line": 134
2026-06-09T03:00:38.5592762Z             },
2026-06-09T03:00:38.5592915Z             {
2026-06-09T03:00:38.5593120Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5593362Z               "line": 479
2026-06-09T03:00:38.5593533Z             },
2026-06-09T03:00:38.5593697Z             {
2026-06-09T03:00:38.5593885Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5594122Z               "line": 515
2026-06-09T03:00:38.5594303Z             }
2026-06-09T03:00:38.5594457Z           ]
2026-06-09T03:00:38.5594613Z         },
2026-06-09T03:00:38.5594767Z         "int": {
2026-06-09T03:00:38.5594942Z           "complete": false,
2026-06-09T03:00:38.5595134Z           "evidence": []
2026-06-09T03:00:38.5595309Z         },
2026-06-09T03:00:38.5595463Z         "unit": {
2026-06-09T03:00:38.5595634Z           "complete": true,
2026-06-09T03:00:38.5595829Z           "evidence": [
2026-06-09T03:00:38.5595997Z             {
2026-06-09T03:00:38.5596200Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5596453Z               "line": 231
2026-06-09T03:00:38.5596629Z             },
2026-06-09T03:00:38.5596792Z             {
2026-06-09T03:00:38.5597107Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5597346Z               "line": 245
2026-06-09T03:00:38.5597525Z             },
2026-06-09T03:00:38.5597679Z             {
2026-06-09T03:00:38.5597883Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5598131Z               "line": 259
2026-06-09T03:00:38.5598304Z             },
2026-06-09T03:00:38.5598460Z             {
2026-06-09T03:00:38.5598652Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5598897Z               "line": 273
2026-06-09T03:00:38.5599072Z             },
2026-06-09T03:00:38.5599229Z             {
2026-06-09T03:00:38.5599420Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-09T03:00:38.5599659Z               "line": 307
2026-06-09T03:00:38.5599835Z             },
2026-06-09T03:00:38.5599988Z             {
2026-06-09T03:00:38.5600179Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-09T03:00:38.5600421Z               "line": 792
2026-06-09T03:00:38.5600588Z             }
2026-06-09T03:00:38.5600745Z           ]
2026-06-09T03:00:38.5600899Z         }
2026-06-09T03:00:38.5601046Z       }
2026-06-09T03:00:38.5601322Z     },
2026-06-09T03:00:38.5601569Z     {
2026-06-09T03:00:38.5601724Z       "id": "REQ-UPD-6",
2026-06-09T03:00:38.5602588Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-09T03:00:38.5603494Z       "requiredStages": [
2026-06-09T03:00:38.5603675Z         "doc",
2026-06-09T03:00:38.5603832Z         "impl",
2026-06-09T03:00:38.5603992Z         "unit",
2026-06-09T03:00:38.5604149Z         "int"
2026-06-09T03:00:38.5604300Z       ],
2026-06-09T03:00:38.5604450Z       "stages": {
2026-06-09T03:00:38.5604610Z         "doc": {
2026-06-09T03:00:38.5604778Z           "complete": true,
2026-06-09T03:00:38.5604973Z           "evidence": [
2026-06-09T03:00:38.5605141Z             {
2026-06-09T03:00:38.5605331Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-09T03:00:38.5605574Z               "line": 3
2026-06-09T03:00:38.5605745Z             },
2026-06-09T03:00:38.5605898Z             {
2026-06-09T03:00:38.5606070Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-09T03:00:38.5606280Z               "line": 3
2026-06-09T03:00:38.5606450Z             },
2026-06-09T03:00:38.5606605Z             {
2026-06-09T03:00:38.5606827Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-09T03:00:38.5607189Z               "line": 3
2026-06-09T03:00:38.5607357Z             }
2026-06-09T03:00:38.5607508Z           ]
2026-06-09T03:00:38.5607662Z         },
2026-06-09T03:00:38.5607813Z         "impl": {
2026-06-09T03:00:38.5607981Z           "complete": true,
2026-06-09T03:00:38.5608167Z           "evidence": [
2026-06-09T03:00:38.5608333Z             {
2026-06-09T03:00:38.5608530Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5608768Z               "line": 143
2026-06-09T03:00:38.5608948Z             },
2026-06-09T03:00:38.5609117Z             {
2026-06-09T03:00:38.5609310Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5609539Z               "line": 511
2026-06-09T03:00:38.5609717Z             },
2026-06-09T03:00:38.5609871Z             {
2026-06-09T03:00:38.5610056Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-09T03:00:38.5610290Z               "line": 564
2026-06-09T03:00:38.5610458Z             },
2026-06-09T03:00:38.5610609Z             {
2026-06-09T03:00:38.5610796Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5611029Z               "line": 69
2026-06-09T03:00:38.5611205Z             },
2026-06-09T03:00:38.5611354Z             {
2026-06-09T03:00:38.5611534Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5611764Z               "line": 133
2026-06-09T03:00:38.5611929Z             },
2026-06-09T03:00:38.5612082Z             {
2026-06-09T03:00:38.5612270Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5612504Z               "line": 243
2026-06-09T03:00:38.5612671Z             },
2026-06-09T03:00:38.5612819Z             {
2026-06-09T03:00:38.5613001Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5613223Z               "line": 399
2026-06-09T03:00:38.5613391Z             },
2026-06-09T03:00:38.5613543Z             {
2026-06-09T03:00:38.5613729Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5613950Z               "line": 527
2026-06-09T03:00:38.5614120Z             },
2026-06-09T03:00:38.5614274Z             {
2026-06-09T03:00:38.5614458Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5614686Z               "line": 541
2026-06-09T03:00:38.5614856Z             },
2026-06-09T03:00:38.5615005Z             {
2026-06-09T03:00:38.5615185Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5615414Z               "line": 596
2026-06-09T03:00:38.5615766Z             },
2026-06-09T03:00:38.5615920Z             {
2026-06-09T03:00:38.5616105Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5616329Z               "line": 627
2026-06-09T03:00:38.5616498Z             },
2026-06-09T03:00:38.5616653Z             {
2026-06-09T03:00:38.5616831Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5617142Z               "line": 41
2026-06-09T03:00:38.5617315Z             },
2026-06-09T03:00:38.5617473Z             {
2026-06-09T03:00:38.5617658Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5617888Z               "line": 99
2026-06-09T03:00:38.5618054Z             },
2026-06-09T03:00:38.5618207Z             {
2026-06-09T03:00:38.5618388Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5618608Z               "line": 130
2026-06-09T03:00:38.5618775Z             },
2026-06-09T03:00:38.5618932Z             {
2026-06-09T03:00:38.5619052Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5619143Z               "line": 159
2026-06-09T03:00:38.5619222Z             },
2026-06-09T03:00:38.5619299Z             {
2026-06-09T03:00:38.5619405Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5619490Z               "line": 190
2026-06-09T03:00:38.5619570Z             },
2026-06-09T03:00:38.5619648Z             {
2026-06-09T03:00:38.5619758Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5619837Z               "line": 213
2026-06-09T03:00:38.5619918Z             },
2026-06-09T03:00:38.5619999Z             {
2026-06-09T03:00:38.5620104Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5620187Z               "line": 231
2026-06-09T03:00:38.5620268Z             },
2026-06-09T03:00:38.5620349Z             {
2026-06-09T03:00:38.5620455Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5620545Z               "line": 241
2026-06-09T03:00:38.5620631Z             },
2026-06-09T03:00:38.5620713Z             {
2026-06-09T03:00:38.5620822Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5620902Z               "line": 253
2026-06-09T03:00:38.5620979Z             },
2026-06-09T03:00:38.5621046Z             {
2026-06-09T03:00:38.5621155Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5621241Z               "line": 263
2026-06-09T03:00:38.5621323Z             },
2026-06-09T03:00:38.5621389Z             {
2026-06-09T03:00:38.5621498Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5621589Z               "line": 87
2026-06-09T03:00:38.5621676Z             },
2026-06-09T03:00:38.5621760Z             {
2026-06-09T03:00:38.5621856Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5621938Z               "line": 113
2026-06-09T03:00:38.5622010Z             },
2026-06-09T03:00:38.5622094Z             {
2026-06-09T03:00:38.5622219Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5622315Z               "line": 128
2026-06-09T03:00:38.5622399Z             },
2026-06-09T03:00:38.5622475Z             {
2026-06-09T03:00:38.5622590Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5622675Z               "line": 149
2026-06-09T03:00:38.5622754Z             },
2026-06-09T03:00:38.5622844Z             {
2026-06-09T03:00:38.5622950Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5623036Z               "line": 161
2026-06-09T03:00:38.5623112Z             },
2026-06-09T03:00:38.5623198Z             {
2026-06-09T03:00:38.5623303Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5623388Z               "line": 172
2026-06-09T03:00:38.5623469Z             },
2026-06-09T03:00:38.5623541Z             {
2026-06-09T03:00:38.5623651Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5623837Z               "line": 438
2026-06-09T03:00:38.5624004Z             },
2026-06-09T03:00:38.5624084Z             {
2026-06-09T03:00:38.5624205Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5624289Z               "line": 542
2026-06-09T03:00:38.5624375Z             },
2026-06-09T03:00:38.5624466Z             {
2026-06-09T03:00:38.5624581Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5624666Z               "line": 171
2026-06-09T03:00:38.5624752Z             },
2026-06-09T03:00:38.5624830Z             {
2026-06-09T03:00:38.5624947Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.5625027Z               "line": 65
2026-06-09T03:00:38.5625113Z             },
2026-06-09T03:00:38.5625199Z             {
2026-06-09T03:00:38.5625307Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.5625397Z               "line": 71
2026-06-09T03:00:38.5625474Z             },
2026-06-09T03:00:38.5625565Z             {
2026-06-09T03:00:38.5625683Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-09T03:00:38.5625769Z               "line": 77
2026-06-09T03:00:38.5625851Z             },
2026-06-09T03:00:38.5625927Z             {
2026-06-09T03:00:38.5626040Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5626123Z               "line": 649
2026-06-09T03:00:38.5626204Z             },
2026-06-09T03:00:38.5626284Z             {
2026-06-09T03:00:38.5626389Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5626475Z               "line": 666
2026-06-09T03:00:38.5626556Z             },
2026-06-09T03:00:38.5626637Z             {
2026-06-09T03:00:38.5626733Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5626819Z               "line": 709
2026-06-09T03:00:38.5626899Z             },
2026-06-09T03:00:38.5627067Z             {
2026-06-09T03:00:38.5627171Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5627262Z               "line": 849
2026-06-09T03:00:38.5627352Z             },
2026-06-09T03:00:38.5627444Z             {
2026-06-09T03:00:38.5627542Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5627628Z               "line": 999
2026-06-09T03:00:38.5627716Z             }
2026-06-09T03:00:38.5627801Z           ]
2026-06-09T03:00:38.5627880Z         },
2026-06-09T03:00:38.5627971Z         "int": {
2026-06-09T03:00:38.5628057Z           "complete": true,
2026-06-09T03:00:38.5628148Z           "evidence": [
2026-06-09T03:00:38.5628228Z             {
2026-06-09T03:00:38.5628362Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-09T03:00:38.5628448Z               "line": 567
2026-06-09T03:00:38.5628524Z             },
2026-06-09T03:00:38.5628615Z             {
2026-06-09T03:00:38.5628725Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-09T03:00:38.5628811Z               "line": 135
2026-06-09T03:00:38.5628891Z             }
2026-06-09T03:00:38.5628973Z           ]
2026-06-09T03:00:38.5629059Z         },
2026-06-09T03:00:38.5629149Z         "unit": {
2026-06-09T03:00:38.5629239Z           "complete": true,
2026-06-09T03:00:38.5629326Z           "evidence": [
2026-06-09T03:00:38.5629411Z             {
2026-06-09T03:00:38.5629530Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5629617Z               "line": 434
2026-06-09T03:00:38.5629703Z             },
2026-06-09T03:00:38.5629782Z             {
2026-06-09T03:00:38.5629898Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-09T03:00:38.5629984Z               "line": 483
2026-06-09T03:00:38.5630064Z             },
2026-06-09T03:00:38.5630145Z             {
2026-06-09T03:00:38.5630266Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-09T03:00:38.5630352Z               "line": 689
2026-06-09T03:00:38.5630430Z             },
2026-06-09T03:00:38.5630516Z             {
2026-06-09T03:00:38.5630626Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5630809Z               "line": 355
2026-06-09T03:00:38.5631000Z             },
2026-06-09T03:00:38.5631081Z             {
2026-06-09T03:00:38.5631196Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-09T03:00:38.5631282Z               "line": 392
2026-06-09T03:00:38.5631359Z             },
2026-06-09T03:00:38.5631443Z             {
2026-06-09T03:00:38.5631554Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5631644Z               "line": 879
2026-06-09T03:00:38.5631725Z             },
2026-06-09T03:00:38.5631806Z             {
2026-06-09T03:00:38.5631922Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5632012Z               "line": 901
2026-06-09T03:00:38.5632092Z             },
2026-06-09T03:00:38.5632174Z             {
2026-06-09T03:00:38.5632283Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5632369Z               "line": 918
2026-06-09T03:00:38.5632450Z             },
2026-06-09T03:00:38.5632542Z             {
2026-06-09T03:00:38.5632669Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5632750Z               "line": 933
2026-06-09T03:00:38.5632837Z             },
2026-06-09T03:00:38.5632918Z             {
2026-06-09T03:00:38.5633026Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-09T03:00:38.5633116Z               "line": 959
2026-06-09T03:00:38.5633198Z             },
2026-06-09T03:00:38.5633281Z             {
2026-06-09T03:00:38.5633395Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-09T03:00:38.5633481Z               "line": 455
2026-06-09T03:00:38.5633563Z             },
2026-06-09T03:00:38.5633643Z             {
2026-06-09T03:00:38.5633767Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-09T03:00:38.5633853Z               "line": 336
2026-06-09T03:00:38.5633934Z             },
2026-06-09T03:00:38.5634015Z             {
2026-06-09T03:00:38.5634121Z               "path": "crates/xtask/src/main.rs",
2026-06-09T03:00:38.5634225Z               "line": 1128
2026-06-09T03:00:38.5634306Z             },
2026-06-09T03:00:38.5634382Z             {
2026-06-09T03:00:38.5634492Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-09T03:00:38.5634583Z               "line": 130
2026-06-09T03:00:38.5634664Z             }
2026-06-09T03:00:38.5634750Z           ]
2026-06-09T03:00:38.5634831Z         }
2026-06-09T03:00:38.5634911Z       }
2026-06-09T03:00:38.5634997Z     }
2026-06-09T03:00:38.5635080Z   ],
2026-06-09T03:00:38.5635169Z   "findings": []
2026-06-09T03:00:38.5635250Z }
